书籍详情
《Android嵌入式系统程序开发第2版》[47M]百度网盘|亲测有效|pdf下载
  • Android嵌入式系统程序开发第2版

  • 出版社:机械工业出版社京东自营官方旗舰店
  • 出版时间:2015-08
  • 热度:11941
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

  

全面详解底层驱动、中间层JNI制作和上层UI接口贯通设计的著作,大量的实验程序,完整的项目实例,快速提高嵌入式硬件与Android的开发能力。

内容简介

本书主要分为三部分,包括软件篇、硬件篇和项目篇。软件篇从Android体系结构和开发环境搭建,以及Android应用程序开发等方面构造了一个完整的Android开发流程;硬件篇重点讲解了S5PV210硬件结构和Android系统移植,详细介绍了底层驱动的封装、中间层JNI的制作,以及上层UI的设计;项目篇提供完整的综合应用项目的程序开发实例,详细介绍了开发过程和原始程序代码。并且安排了丰富的实验内容与实践,让读者深刻理解和掌握嵌入式系统开发的整个过程,了解底层驱动程序驱动硬件的原理和上层应用程序的设计方法。

作者简介

胡 文 大学计算机系教授,多年从事Windows CE和Android嵌入式系统应用研究,精通单片机系统开发和嵌入式终端开发,所开发的嵌入式组态软件、嵌入式访问数据库软件和嵌入式终端等应用于多个领域。

精彩书评

高通公司董事长兼首席执行官保罗·雅格布用“生而移动”来表述扑面而来的移动互联网浪潮。对于嵌入式开发工程师来说,能否在最短的时间里掌握适应未来移动世界的电子开发技能,决定着其未来职业发展方向和自身价值体现。熟悉并掌握ARM体系结构和Android平台的开发技能是两大必备的基础条件,而能够将两者的技术精髓吃透并熟练运用,则是高手中的高手。这是一本具有典型实战色彩的工具书,它以Android应用程序开发作为开篇,进而引入ARM Cortex-A8硬件平台的移植,最后以若干项目开发实例巩固前面的软硬件知识。因此,这是一本能够指导嵌入式开发工程师快速掌握移动开发的有用书籍。
—— 于寅虎 《电子产品世界》杂志社总编

作为基于Linux内核的自由及开放源代码的操作系统,Android系统采用了分层的系统体系结构,这就使得基于Android的开发不仅只是应用层的开发,还会涉及底层系统移植及驱动程序的开发。本书由浅入深地覆盖了从Android应用层到内核驱动开发的核心内容,并基于最新的Cortex-A系列的硬件平台详细阐述。本书有理论更注重实践,是系统学习Android开发的绝佳选择。
—— 季久峰  华清远见教育集团总裁

目录

目  录

第2版前言

第1版前言

软件篇

第1章 Android体系结构及开发环境 / 2

1.1 Android体系结构介绍 / 2

1.1.1 应用程序 / 3

1.1.2 应用程序框架 / 3

1.1.3 函数库 / 4

1.1.4 Linux内核 / 4

1.2 搭建Windows下的开发环境 / 5

1.2.1 安装JDK / 5

1.2.2 安装Eclipse / 6

1.2.3 安装ADT / 6

1.2.4 安装SDK / 7

1.2.5 创建Android虚拟设备 / 9

1.3 搭建Linux下的开发环境 / 11

1.3.1 安装JDK / 11

1.3.2 安装Eclipse / 12

1.3.3 安装ADT / 13

1.3.4 安装SDK / 15

1.3.5 创建Android虚拟设备 / 17

1.4 搭建NDK开发环境 / 20

1.4.1 NDK开发环境与安装目录 / 20

1.4.2 系统和软件需求 / 20

1.4.3 Windows 平台NDK环境搭建 / 21

1.4.4 Linux平台NDK环境搭建 / 25

第2章 Android应用程序开发 / 28

2.1 第一个HelloEveryone / 28

2.1.1 创建第一个Android项目HelloEveryone / 28

2.1.2 Android应用工程组成 / 29

2.2 Android应用程序组成 / 31

2.2.1 Activity组件 / 31

2.2.2 Intent组件 / 36

2.2.3?Broadcast Receiver组件 / 39

2.2.4 Service组件 / 39

2.2.5 Content Provider组件 / 39

2.3 使用AndroidManifest文件定义应用程序 / 40

2.3.1 管理应用程序身份 / 42

2.3.2 注册Activity和其他应用程序组件 / 42

2.3.3 使用许可权限 / 44设备和软件 / 45

2.3.5 使用库和Android SDK版本 / 46

2.3.6 定义应用程序的其他配置参数 / 46

2.4?常用Widget控件介绍 / 47

2.4.1?用Widget控件创建Android项目 / 47

2.4.2?按钮 / 48

2.4.3?文字框 / 50

2.4.4?编辑框 / 51

2.4.5?多项选择框 / 52

2.4.6?单项选择框 / 54

2.4.7?下拉列表 / 55

2.4.8?自动完成文本 / 56

2.4.9?日期、时间选择器 / 58

2.4.10?进度条 / 60

2.4.11?拖动条 / 61

2.4.12?图片视图 / 62

2.4.13?基于网格索引的图片浏览器 / 63

2.4.14?选项卡 / 66

2.4.15?列表 / 67

2.4.16?图片按钮 / 69

2.4.17?拖动效果 / 70

2.4.18?对话框实例 / 72

2.5 界面布局 / 75

2.5.1 线性布局 / 75

2.5.2 框架布局 / 77

2.5.3 表格布局 / 78

2.5.4 相对布局 / 80

2.5.5 绝对布局 / 81

2.5.6 网格布局 / 82

2.6 菜单 / 84

2.6.1 菜单资源 / 84

2.6.2 选项菜单 / 85

2.6.3 子菜单 / 87

2.6.4 快捷菜单 / 89

2.7 事件处理 / 91

2.7.1 Android的事件处理概述 / 91

2.7.2 基于监听的事件处理 / 91

2.7.3 基于回调的事件处理 / 94

2.7.4 响应的系统设置的事件 / 97

2.7.5 Handler消息传递机制 / 101

第3章 SQLite数据库程序开发 / 103

3.1 SQLite简介 / 103

3.1.1 SQLite体系结构 / 103

3.1.2 数据库基础 / 104

3.1.3 SQLite语句及语法 / 104

3.1.4 数据库包 / 107

3.1.5 SQLiteDatabase类 / 109

3.2 SQLite连接 / 111

3.2.1 开始构建 / 112

3.2.2 数据库基本操作 / 114

3.2.3 数据库与UI连接 / 120

3.3 数据共享 / 122

3.3.1 Content Provider实现数据共享 / 123

3.3.2 创建Content Provider / 125

3.3.3 使用CRUD基本函数 / 127

3.3.4 注册与使用Content Provider / 130

3.4 基于SQLite数据库的日记账工具 / 135

硬件篇

第4章 Android系统移植 / 152

4.1 Android 结构介绍 / 152

4.2 Android 内核结构和设备驱动 / 153

4.2.1 Android 内核源代码结构 / 153

4.2.2 Android 常用设备驱动 / 155

4.3 Android 内核基本配置 / 161

4.3.1 Android内核中的Kconf?ig文件 / 162

4.3.2 Android内核配置选项 / 162

4.4 Android 内核编译 / 165

4.4.1 Android内核中的Makef?ile文件 / 166

4.4.2 解压Android 内核源代码 / 167

4.4.3 编译Android 内核 / 167

4.5 DMA-210XP平台Android文件系统烧写 / 168

4.5.1 烧写u-boot到Nand F?lash / 168

4.5.2 烧写zImage内核映像文件 / 171

4.5.3 烧写ramdisk-uboot.img映像文件 / 172

4.5.4 烧写Android System.img文件 / 172

4.5.5 烧写Android userdata.img文件 / 173

4.5.6 启动Android系统 / 173

4.5.7 TF卡自动更新kernel和Android系统文件 / 174

第5章 系统硬件与驱动程序 / 175

5.1 Android硬件抽象层(HAL) / 175

5.1.1 内核硬件驱动程序 / 175

5.1.2 增加C硬件驱动程序 / 184

5.1.3 接口硬件驱动程序 / 185

5.1.4 JNI硬件驱动程序 / 189

5.2 GPIO接口及驱动程序 / 191

5.2.1 GPIO接口 / 191

5.2.2 LED接口电路 / 199

5.2.3 LED驱动程序设计 / 199

5.2.4 LED程序测试 / 214

5.3 PWM定时器及驱动程序 / 215

5.3.1 PWM定时器 / 215

5.3.2 背光接口电路 / 221

5.3.3 背光驱动程序设计 / 224

5.3.4 背光程序测试 / 232

5.4 ADC接口及驱动程序 / 232

5.4.1 ADC转换器 / 232

5.4.2 ADC接口电路 / 239

5.4.3 ADC驱动程序设计 / 239

5.4.4 ADC程序测试 / 244

5.5 键盘接口及驱动程序 / 245

5.5.1 键盘扫描原理 / 245

5.5.2 矩阵键盘硬件原理图 / 246

5.5.3 键盘驱动程序设计 / 250

5.5.4 键盘程序测试 / 259

第6章 外设接口与驱动程序 / 261

6.1 UART串行接口及通信程序 / 261

6.1.1 UART简介 / 261

6.1.2 UART接口及操作 / 271

6.1.3 UART通信程序设计 / 272

6.1.4 UART程序测试 / 285

6.2 IIC总线接口及驱动程序 / 286

6.2.1 IIC总线简介 / 286

6.2.2 在Linux内核中添加IIC设备 / 291

6.2.3 IIC驱动程序设计 / 291

6.3 蓝牙接口及驱动程序 / 302

6.3.1 蓝牙简介 / 302

6.3.2 Android系统下的蓝牙架构 / 304

6.3.3 蓝牙驱动程序设计 / 305

6.3.4 蓝牙程序测试 / 312

6.4 Wi-Fi接口及通信程序 / 313

6.4.1 Wi-Fi介绍 / 313

6.4.2 Wi-Fi程序设计 / 316

6.4.3 Wi-Fi程序测试 / 323

6.5 MediaPlayer播放器程序 / 324

6.5.1 MediaPlayer简介 / 324

6.5.2 MediaPlayer的界面与架构 / 325

6.5.3 MediaPlayer播放器程序设计 / 327

6.5.4 MediaPlayer程序测试 / 335

6.6 Camera 拍照及摄影程序 / 336

6.6.1 Camera简介 / 336

6.6.2 Android 系统的Camera / 337

6.6.3 Camera拍照程序设计 / 338

6.6.4 Camera程序测试 / 343

项目篇

第7章?Android界面与IO设计工具 / 346

7.1 Android界面与IO设计工具介绍 / 346

7.2 Android界面与IO设计工具结构 / 346

7.3 Android界面与IO设计工具界面设计 / 348

7.3.1 界面设计 / 348

7.3.2 界面内容添加 / 348

7.4 Android界面与IO设计工具功能选择区设计 / 356

7.4.1 界面设计 / 356

7.4.2 IO设计 / 369

7.4.3?数据库设计 / 371

7.5 Android界面与IO设计工具辅助功能区设计 / 376

7.6 Android界面与IO设计工具程序生成区设计 / 377

7.6.1 Android界面与IO设计工具程序生成区功能介绍 / 377

7.6.2 Android界面与IO设计工具程序生成区的代码实现 / 378

第8章 GPS与Google Map定位系统 / 392

8.1 MyMap服务系统 / 392

8.2 Android Google Map / 393

8.2.1 申请Google Map Android API Key / 393

8.2.2 编写Google Map框架程序 / 394

8.2.3 控制地图 / 396

8.2.4 地图的显示模式 / 398

8.2.5 地图的图层 / 401

8.2.6 查询与定位 / 403

8.3 Android定位服务 / 409

8.3.1 开启定位服务 / 409

8.3.2 模拟测试 / 411

8.3.3 GPS与Google Map定位 / 413

8.4 案例重构 / 414

8.4.1 地图的显示模式 / 414

8.4.2 重构“查询方法” / 417

第9章 Android图书管理系统 / 420

9.1 系统功能设计 / 420

9.2 系统开发环境 / 420

9.3 数据库设计 / 421

9.4 图书管理系统学生端开发 / 424

9.4.1 登录界面 / 424

9.4.2 查询界面 / 425

9.4.3 学生预约管理 / 431

9.4.4 挂失管理 / 433

9.5 图书管理系统管理端开发 / 434

9.5.1 登录界面 / 434

9.5.2 图书管理 / 438

9.5.3 学生信息管理 / 439

9.5.4 管理员管理 / 441

9.5.5 借阅预约图书 / 443

9.5.6 缴纳罚款 / 446

参考文献 / 450


前言/序言

第2版前言

《Android嵌入式系统程序开发(基于Cortex-A8)》一书,自2013年4月由机械工业出版社出版后,分别在2013年和2014年重印两次,在此类专业图书教材中表现相当突出。作者非常感谢购买本书的读者,尤其是那些能够通过网络提出问题讨论并给出建议或指出错误的读者朋友。根据最近几年Android的发展变化、开发平台软件和开发工具的更新等相关资料,以及近几年笔者在学校、公司从事教学与培训中的经验和积累,决定对本书进行升级以适应快速迭代的市场变化。

本书在第1版内容的基础上修改了部分内容,主要内容包括:更新第2章Android应用程序开发内容,增加了界面布局、菜单和事件处理内容;新增第3章数据库应用程序开发,增加本地SQLite数据库应用程序,以及远程数据库访问应用程序;根据读者的建议,修改S5PV210硬件结构与接口驱动程序部分内容,涉及第5章系统硬件及驱动程序,以及第6章外设接口及驱动程序,实现了硬件接口、上层UI界面程序和中间层JNI程序结合的驱动程序;修改了第7章并更换了第9章的实例,使得初学者更容易理解和接受相关知识。

尽管笔者设计和开发过许多实际的应用项目和产品,但考虑到本书读者主要是初学者,通常不可能具备与掌握开发各种实际项目或产品所涉及的相关知识和基础,所以提供完整的综合应用项目的程序开发实例。再版书中的实例源代码放在华章网站上,包括应用程序开发、数据库应用程序开发,系统硬件及驱动程序、外设接口及驱动程序和综合应用项目的程序开发实例等源代码。

本书在编写过程中,得到了许多专家和学者的大力支持,听取了多方面的宝贵意见和建议,在此对他们表示衷心感谢。书中难免存在不足和错误之处,敬请读者批评指正。


编者

2015年4月





第1版前言

本书的特点是以嵌入式操作系统Android和Cortex-A8微处理器S5PV210为基础,从Android体系结构和搭建开发环境,以及Android应用程序开发等方面构造了一个完整的Android开发流程。本书重点介绍了S5PV210硬件结构和Android系统移植,详细讲解了底层驱动的封装、中间层JNI的制作,以及上层UI的设计,采用Java开发接口驱动程序。本书还提供了完整的综合应用项目的程序开发实例,介绍了功能模块设计和数据库设计,详细讲解了开发过程与程序源代码;使读者深刻理解和掌握嵌入式系统开发的整个过程,了解底层驱动程序驱动硬件的原理和上层应用程序的设计方法,真正做到了底层驱动的开发与上层应用程序的开发相结合。

本书内容丰富实用、叙述详尽清晰,方便教学与自学。结合DMA-210XP平台的实验程序,有利于读者掌握Android系统的应用程序设计方法,培养读者综合分析、开发创新和工程设计的能力。通过本书的学习,读者可以快速提高Android的编程能力和实际开发水平。

全书分三部分,共9章。

第一部分:软件篇

第1章介绍了Android的体系结构,以及Android系统的整体架构的各层组成,并介绍了如何搭建Windows、Linux和NDK下的开发环境。

第2章介绍了第一个HelloEveryone的Android应用程序,以及Android应用程序组成,并介绍如何使用Android Manifest文件定义应用程序。

第3章介绍了Android应用程序开发过程中涉及的控件,介绍了Activity转换和Intent消息传递、Menu设计修改、对话框实例和Android本地数据库SQLite应用。

第二部分:硬件篇

第4章详细介绍了Android内核结构和设备驱动、Android内核基本配置、Android内核编译和DMA-210XP平台Android文件系统烧写过程。

第5章介绍了S5PV210的硬件结构,包括S5PV210微处理器、GPIO接口、PWM定时器、DMA控制器、UART串行接口、SPI接口、IIC总线接口和ADC及触摸屏接口。介绍了接口应用实例及驱动程序。

第6章介绍了在Android开发环境下,采用Java编写接口驱动程序。包括LED接口及驱动程序、背光调节控制程序、键盘接口及驱动程序、UART串行口及通信程序、ZigBee接口及驱动程序、Wi-Fi接口及通信程序、3G接口及驱动程序、MediaPlayer播放器程序等。

第三部分:项目篇

第7章介绍了嵌入式组态软件结构,以及界面设计、功能选择区设计、辅助功能区设计和程序生成区设计Android应用,采用Java开发嵌入式组态软件。

第8章以MyMap服务系统为实例,介绍Android Google Map、Android定位服务、案例重构,采用Java开发GPS与Google Map定位应用程序。

第9章以3D传感器动力球游戏为例,介绍小球快跑游戏背景及功能、游戏的架构,详细讲解了游戏主菜单、游戏界面模块,游戏中各个图层、游戏后台逻辑和传感器计算模块等的程序开发。

本书由胡文教授拟定编写大纲和目录。胡文编写了第6章和第7章,宁世勇编写了第2章和第3章,李明俊编写了第1章、第8章和第9章,金雪松编写了第4章和第5章。百度公司的胡玥,哈尔滨商业大学的李杨、赵艳丽、张凯、陈楠等人为本书的编写做了大量的工作,在此一并表示衷心感谢。本书在编写过程中,参考了大量的国内外著作和资料,得到了许多专家和学者的大力支持,并听取了多方面的宝贵意见和建议,在此也对他们表示衷心感谢。

由于时间仓促和作者水平所限,本书难免有疏漏和不足之处,敬请各位读者批评指正,以期再版时修订。


编者

2013年1月