Android应用开发与系统改造实战

978-7-115-27272-0
作者: 王保卫 申波
译者:
编辑: 张涛

图书目录:

目 录

第 一部分 Android应用程序开发

第 1章 Android开发环境 2

1.1 初识庐山真面目——Android开发环境概述 2

1.2 Android开发系统环境要求 2

1.2.1 操作系统配置 2

1.2.2 开发环境配置要求 2

1.3 Android开发所需软件的下载 3

1.3.1 Elcipse 3

1.3.2 ADT 3

1.3.3 Android SDK 3

1.4 Android SDK开发环境配置 9

1.4.1 安装已下载的软件 9

1.4.2 本地安装ADT 10

1.4.3 网络安装ADT 14

1.4.4 创建AVD 15

1.4.5 新建工程HelloWorld 18

1.4.6 运行Android工程 20

1.5 Android NDK开发环境搭建 22

1.5.1 Android NDK简介 22

1.5.2 开发环境配置 23

1.5.3 NDK的实例开发 28

1.6 小结 32

第 2章 Android基本应用开发与解析 33

2.1 应用程序结构 33

2.1.1 应用程序目录结构 33

2.1.2 知其然,知其所以然——Hello Wrold程序结构讲解 35

2.2 Android资源系统(Android resource system) 37

2.2.1 资源系统中的基本概念 37

2.2.2 Android资源系统引用 39

2.3 Android布局 46

2.3.1 线性布局(LinearLayout) 46

2.3.2 相对布局(RelativeLayout) 50

2.3.3 帧布局(FrameLayout) 52

2.3.4 表格布局(TableLayout) 53

2.3.5 绝对布局(AbsoluteLayout) 55

2.4 Android ViewGroup 56

2.4.1 TabWidget和TabHost 57

2.4.2 TabWidget和TabHost的应用 57

2.4.3 ListView(列表示图) 60

2.4.4 实现九宫图首选——GridView 64

2.5 Android View(示图) 66

2.5.1 文本框(TextView) 66

2.5.2 AutoCompleteTextView 69

2.5.3 编辑框(EditText) 70

2.5.4 下拉列表(Spinner) 74

2.5.5 拖动条(SeekBar) 75

2.5.6 评分条(RatingBar) 77

2.5.7 按钮(Button) 79

2.5.8 图片按钮(ImageButton) 80

2.5.9 图片框(ImageView) 82

2.5.10 画廊(Gallery) 82

2.6 Android UI事件处理 85

2.6.1 Android UI概述 85

2.6.2 事件监听器和事件处理 85

2.6.3 监听器和事件处理实例 86

2.7 小结 88

第3章 Android应用程序清单 89

3.1 应用程序结构 89

3.1.1 Manifest文件作用 89

3.1.2 元素顺序问题 90

3.1.3 AndroidManifest.xml的功能介绍 90

3.1.4 AndroidManifest.xml的结构和规则 90

3.1.5 结合实例综述说明 91

3.2 Manifest文件结构 92

3.3 Manifest文件中各个元素及属性介绍 92

3.3.1  92

3.3.2  93

3.3.3  95

3.3.4  95

3.3.5  97

3.3.6  97

3.3.7  98

3.3.8  99

3.3.9  99

3.3.10  100

3.3.11  100

3.3.12  101

3.3.13  102

3.3.14  103

3.3.15  103

3.3.16  104

3.3.17  106

3.3.18  107

3.3.19  108

3.3.20  108

3.3.21  109

3.3.22  109

3.3.23  110

3.3.24  110

3.4 Android permission列表 110

3.5 小结 114

第4章 Androidr的4大组件 115

4.1 Activity简介和应用实例 115

4.1.1 Activity简介 115

4.1.2 Activity的生命周期 115

4.1.3 Actvity堆栈(Stack) 117

4.1.4 Activity使用实例 118

4.1.5 多个Activity之间的数据传递 119

4.1.6 Actvity的生命周期实例 122

4.2 服务(Service)应用 122

4.2.1 Service概念及使用实例 122

4.2.2 Service的生命周期 123

4.2.3 Service与Activity通信 125

4.2.4 Service与Activity通信实例 125

4.3 存储与访问 131

4.3.1 文件进行数据存储 131

4.3.2 SharedPreferences 134

4.3.3 使用SQLite数据库存储数据 137

4.3.4 内容提供器——Content provider 142

4.4 广播(Broadcast)与接收(Receiver) 147

4.4.1 概述 147

4.4.2 广播的生命周期 147

4.4.3 广播实例 147

4.5 小结 149

第5章 Android应用层通信机制 150

5.1 Intent通信机制 150

5.1.1 Intent概述 150

5.1.2 Intent对象 151

5.1.3 Intent数据传递Bundle 153

5.1.4 Intent过滤器——Intent filters 153

5.1.5 一般案例 157

5.1.6 如何利用Intent来匹配 157

5.1.7 Intent的实例 158

5.2 Handler消息通信机制 158

5.2.1 Handler机制概述 158

5.2.2 Handler发送消息的方法列表 159

5.2.3 Handler实例 159

5.3 小结 161

第6章 综合案例——多线程下载器开发 162

6.1 多线程下载概述 162

6.2 Android多线程下载 162

6.3 小结 169

第7章 Android应用程序设计与优化 170

7.1 UI设计 170

7.2 性能设计 171

7.3 针对响应的设计 174

7.4 无缝性设计 177

7.5 小结 180

第 二部分 Android调试技术与编译系统

第8章 Android工具介绍 182

8.1 模拟器Emulator命令 182

8.2 Android模拟器 199

8.2.1 启动和关闭模拟器 199

8.2.2 操作模拟器 199

8.2.3 模拟器启动选项 200

8.2.4 使用模拟器控制台 200

8.2.5 使用模拟器皮肤 203

8.2.6 运行多个模拟器实例 204

8.2.7 在模拟器上安装应用程序 204

8.2.8 SD卡模拟 204

8.2.9 故障排除 205

8.2.10 模拟器的限制 205

8.3 adb 206

8.3.1 发出adb命令 206

8.3.2 查询模拟器/设备 207

8.3.3 向特定的模拟器/设备发送命令 207

8.3.4 安装软件 208

8.3.5 转发端口 208

8.3.6 从模拟器/设备中导入导出文件 208

8.3.7 adb命令列表 208

8.3.8 启动shell命令 210

8.3.9 启动logcat 210

8.4 ADT插件 213

8.5 Android虚拟设备 213

8.5.1 界面方式 214

8.5.2 命令行方式 215

8.6 设计用户界面利器——Hierarchy Viewer 216

8.7 layoutopt 219

8.8 Draw 9-patch 220

8.9 调试工具——DDMS 220

8.9.1 DDMS工作原理 220

8.9.2 启动DDMS 221

8.9.3 DDMS功能 222

8.10 资源打包工具——aapt 227

8.11 IDL语言——aidl 227

8.11.1 用aidl实现IPC 228

8.11.2 调用的IPC方法 232

8.12 sqlite3 236

8.13 Traceview 236

8.13.1 创建Trace文件 236

8.13.2 将Trace文件复制到主机 237

8.13.3 使用Traceview查看跟踪文件 237

8.13.4 Traceview文件格式 238

8.13.5 Traceview Known Issues 240

8.13.6 dmtracedump用法 240

8.14 mksdcard 241

8.15 bat脚本——dx 242

8.16 压力测试工具——Monkey 243

8.16.1 Monkey简介 243

8.16.2 Monkey的基本用法 243

8.16.3 命令选项详解 244

8.16.4 实例 245

8.17 android工具 246

8.18 优化APK新工具——zipalign 246

8.19 小结 247

第9章 调试技术 248

9.1 Android应用程序调试 248

9.1.1 日志式调试 248

9.1.2 Eclipse调试 249

9.1.3 TraceView跟踪 250

9.1.4 单元测试(JUNIT) 252

9.2 Web应用程序调试 264

9.2.1 在Android浏览器中用控制台API 264

9.2.2 在WebView中用控制台API 265

9.3 NDK调试 265

9.3.1 日志式调试 266

9.3.2 ndk-gdb调试 266

9.4 系统源代码调试 270

9.4.1 编译Android源代码 270

9.4.2 导入Android源代码工程 270

9.4.3 调试程序 272

9.4.4 调试说明 275

9.5 Android程序调试原理 275

9.6 小结 276

第 10章 Android编译系统 277

10.1 Android编译系统概述 277

10.2 编译系统入口 278

10.3 Makefile文件 278

10.3.1 理解Makefile文件 278

10.3.2 简单APK的Makefile 279

10.3.3 使用jar文件的APK的Makefile文件 280

10.3.4 平台密钥签名的APK的Makefile文件 280

10.3.5 特定厂商签名的APK的Makefile文件 280

10.3.6 增加已编译好的APK的Makefile文件 281

10.3.7 增加静态Java库 281

10.4 编译层次结构 282

10.5 配置新产品的Makefile 282

10.5.1 配置步骤 282

10.5.2 新产品的文件结构树 284

10.5.3 产品定义文件 284

10.6 编译系统的结构 286

10.7 小结 287

第 11章 Android系统编译环境搭建 288

11.1 系统要求 288

11.2 安装工具 288

11.3 获取源代码 289

11.4 编译源代码 290

11.5 模块编译 292

11.6 编译Android内核 293

11.7 编译问题 295

11.7.1 Git工具详解 295

11.7.2 repo工具详解 297

11.7.3 32位操作系统无法编译问题 298

11.7.4 JDK版本 298

11.7.5 arm-eabi-4.4.3版本问题 299

11.7.6 libOpenSLES.so问题 299

11.7.7 libclearsilver-jni.so问题 300

11.7.8 LOCAL_MODULE_TAGS问题 300

11.8 小结 300

第 12章 NDK开发 302

12.1 NDK开发概述 302

12.2 Android.mk语法规范 303

12.2.1 NDK提供的变量 304

12.2.2 NDK提供的宏 305

12.2.3 NDK模块描述变量 306

12.3 Application.mk语法规范 310

12.4 导入模块功能 312

12.4.1 NDK_MODULE_PATH变量 312

12.4.2 编写导入模块 313

12.4.3 命名导入模块 313

12.4.4 一些建议 314

12.5 NDK预编译功能 315

12.5.1 声明预编译库模块 315

12.5.2 引用预编译模块 315

12.5.3 导出预编译模块的头文件 316

12.5.4 调试预编译模块 316

12.5.5 预编译模块的ABI 316

12.6 NDK编译工具ndk-build 317

12.7 NDK调试工具ndk-gdb 318

12.8 小结 321

第三部分 Android子系统分析

第 13章 Android系统架构 324

13.1 Android概念 324

13.2 Android平台特性 324

13.3 Android架构 325

13.3.1 Android应用程序层 325

13.3.2 Android应用程序框架层 325

13.3.3 Android程序库 326

13.3.4 Android运行时库 326

13.3.5 Linux内核 327

13.4 Android版本演化 327

13.5 小结 329

第 14章 系统服务模型 330

14.1 系统服务模型概述 330

14.2 Android系统服务启动过程 332

14.3 Android系统服务注册 334

14.4 Android系统服务请求 335

14.5 小结 335

第 15章 Android启动过程 336

15.1 Android初始化语言 336

15.1.1 Actions(行动) 336

15.1.2 Services(服务) 337

15.1.3 Options(选项) 337

15.1.4 Triggers(触发器) 337

15.1.5 Commands(命令) 338

15.1.6 Properties(属性) 339

15.1.7 iniot.conf实例 339

15.1.8 Android调试记录 340

15.2 Android启动过程 341

15.2.1 Android概述 341

15.2.2 Android启动过程 341

15.2.3 init.rc文件解析过程 345

15.3 小结 353

第 16章 图形系统 354

16.1 图形系统概述 354

16.2 驱动程序接口之一——Framebuffer分析 354

16.3 OpenGL ES分析 355

16.4 Skia图形库分析 357

16.5 SurfaceFlinger服务 358

16.6 Surface显示过程 360

16.7 小结 364

第 17章 蓝牙系统 365

17.1 蓝牙系统概述 365

17.2 蓝牙系统架构 365

17.3 蓝牙系统源代码分析 366

17.3.1 蓝牙服务的启动和关闭 366

17.3.2 蓝牙系统与蓝牙耳机的连接 369

17.4 移植和编译 371

17.4.1 移植 371

17.4.2 编译 371

17.4.3 遇到的问题 372

17.4.4 工具 372

17.5 蓝牙新特性 372

17.6 小结 374

第 18章 电话系统 375

18.1 电话系统概述 375

18.2 Android无线接口层 376

18.2.1 Android无线接口总述 376

18.2.2 RIL初始化 377

18.2.3 RIL交互 377

18.2.4 RIL实现 379

18.3 GSM驱动模块 381

18.3.1 GSM基本架构及初始化 381

18.3.2 请求流程 383

18.3.3 响应流程 385

18.4 电话和短信 387

18.5 小结 388

第 19章 多媒体系统 389

19.1 多媒体概述 389

19.2 多媒体系统架构 389

19.3 多媒体系统源代码分析 390

19.3.1 系统共享库架构及关系 390

19.3.2 系统框架重要头文件 392

19.3.3 MediaPlayer分析 394

19.4 OpenCore概述 399

19.5 小结 400

第 20章 Binder通信机制 401

20.1 Binder通信机制概述 401

20.2 Binder通信机制工作原理 402

20.2.1 Binder组织结构 402

20.2.2 Binder通信时序 402

20.2.3 Binder类继承关系 404

20.3 Binder源代码分析 405

20.3.1 Binder源代码文件及其解析 405

20.3.2 源代码分析 408

20.4 小结 419

第 21章 电源管理 420

21.1 电源管理概述 420

21.2 电源管理源代码分析 422

21.3 系统休眠与唤醒源代码分析 423

21.4 小结 426

第四部分 Android系统改造实战

第 22章 StatusBar改造 428

22.1 StatusBar概述 428

22.2 自定义StatusBar图标 428

22.2.1 制作图标 428

22.2.2 布局选择文件 428

22.2.3 修改布局文件 429

22.3 修改Status Bar图标默认值 429

22.4 增加触摸事件 430

22.5 小结 432

第 23章 开机动画改造 433

23.1 开机动画概述 433

23.2 开机图片 434

23.3 开机文字 434

23.4 开机动画 435

23.5 开机动画定制 437

23.5.1 制作initlogo.rle 437

23.5.2 修改开机文字 438

23.5.3 制作开机动画bootanimation 440

23.6 小结 441

第 24章 系统服务改造指南 442

24.1 自定义Native服务 442

24.1.1 自定义服务 442

24.1.2 注册服务 444

24.1.3 调用服务 445

24.1.4 运行测试 446

24.2 自定义Android服务 447

24.2.1 自定义服务 447

24.2.2 注册服务 449

24.2.3 调用服务 450

24.2.4 运行测试 450

24.3 小结 451

第 25章 构建自己的系统应用 452

25.1 系统应用的概述 452

25.2 编写系统应用 452

25.3 模块化编译系统应用 453

25.4 运行系统应用 453

25.5 小结 454

详情

本书教给读者,如何使Android适应自己的硬件,并在自己订制的系统上进行应用开发和移植工作。全面讲解了Android系统底层技术,并通过案例告诉读者如何打造出自己的Android系统。

图书摘要

相关图书

Android App开发入门与实战
Android App开发入门与实战
Kotlin入门与实战
Kotlin入门与实战
Android 并发开发
Android 并发开发
Android APP开发实战——从规划到上线全程详解
Android APP开发实战——从规划到上线全程详解
Android应用案例开发大全( 第4版)
Android应用案例开发大全( 第4版)
深入理解Android内核设计思想(第2版)(上下册)
深入理解Android内核设计思想(第2版)(上下册)

相关文章

相关课程