0%

基本信息

名称: Android 2.3应用开发实战
作者信息: 作者: 林城 [ 中文 pdf ]

简单介绍

《Android 2.3应用开发实战》全面介绍Android OS操作环境,包括SDK2.3 版最新内容,丰富的范例程序详解Android应用开发,便于读者决速掌握,每一章的主题都安排进阶学习,满足不同读者的阅读需求。
Google Android 2.3版本(Gingerbread)提升了许多移动设备的新功能,如陀螺仪可以检测移动方向;针对手机钱包功能的开发,提供了支持近距离无线通讯技术(Near Field Communication,NFC);同时提供了多相机镜头的移动相机以及会话启动协议(Session Initiation Protocol,SIP)Stack的VolP网络电话功能。
《Android 2.3应用开发实战》以Android系统架构和应用基本原理介绍开发Android应用程序,读者可学习Android 2.3提供的开发方法,同时了解Android操作系统的架构和原理;编写Android应用程序不仅需要了解ava语言,对Android系统架构和对象类也要充分熟悉,才能开发出优秀的程序。
《Android 2.3应用开发实战》详解Android开发环境、应用开发平台、活动程序Act Mty、意图方法Intent、Widget、Layout~布局、Menu菜单、SQ Lite、Ser、,ice服务程序、应用程序国际化、Web View、App Widget、GPS定位和Google Maps、音频和视频、2D绘图E]3D OpenGL绘图、Su rface View、动态壁纸、蓝牙通信、触控、感应检测、Android 2.3特性、照相机、VolP等内容。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
第1章 拓展android市场的java应用
1.1android来了
1.2android操作系统结构
1.3oesf扩增功能
1.4android-windows开发环境
1.5在androidmarket销售你的应用软件
第2章 安装androidsdk开发环境
2.1androidsdk开发环境
2.2安装androidsdk开发环境
2.3安装androidsdk前必要的软件
2.4更新到新版本android开发工具adt
2.5删除android开发工具adt
2.6android-“helloworld!”验证
第3章 androidsdk开发平台应用
3.1androidsdk开发平台应用
3.2android仿真器
3.3android仿真器专用sd存储卡
3.4android系统调试工具-adb
3.5android调试监控服务系统ddms
第4章 认识android基本单元-活动程序activity
4.1android应用程序组成
4.2执行状态迁移的生命周期(lifecycle)
4.3精通活动程序-activity的控制功能
第5章 活动程序activity的切换-意图方法intent
5.1活动程序activity和意图方法intent
5.2建立chatactivities应用程序
5.3chatactivities应用程序实现
5.4标准意图方法intent
……
第6章 android应用程序的widget创作套件
第7章 android应用程序的layout窗体布局
第8章 android应用程序的menu菜单
第9章 android数据存储和数据公开-sqlite
第10章 认识service服务程序
第11章 android应用程序国际化
第12章 android的web视图-webview
第13章 android常驻程序-appwidget
第14章 android应用程序gps位置和googlemaps
第15章 android音频和视频
第16章 android2d绘图和3dopengl绘图
第17章 android高速描绘-surfaceview
第18章 android动态壁纸-livewallpaper
第19章 android蓝牙通信-bluetooth
第20章 android触控屏幕-gesture
第21章 android感应检测-sensor
第22章 androidos2.3姜饼报到
第23章 android手机必备的照相机
第24章 设计android网络电话voip-sip
附录aa ndroid应用程序范例光盘使用说明

亚马逊链接

基本信息

名称: Android技术内幕:系统卷
作者信息: 作者: 杨丰盛 [ 中文 pdf ]

简单介绍

《Android技术内幕:系统卷》编辑推荐:完全立足于Android系统源代码,深入解析Android内核的架构设计与实现原理,透彻分析Android内核层、硬件抽象层和系统运行库层的各功能模块的底层机制。《Android技术内幕:系统卷》适合所有的高级Android应用开发工程师、Android系统开发工程师、Android移植工程师、Android系统架构师和所有对Android源码实现感兴趣的读者。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
前言
第1章 准备工作 /1
1.1 深入认识Android /2
1.1.1 Android的系统构架 /2
1.1.2 Android的初始化流程 /5
1.1.3 各个层次之间的相互关系 /8
1.1.4 Android系统开发(移植)和应用开发 /11
1.2 获取和编译Android的源码 /13
1.2.1 环境配置 /13
1.2.2 获取Android源码 /14
1.2.3 编译Android的源码及其工具包 /16
1.2.4 运行Android系统 /21
1.3 开发环境搭建 /23
1.3.1 应用开发环境搭建 /23
1.3.2 源码开发环境搭建 /26
1.4 Android源码结构 /32
1.5 小结 /33
第2章 Android的内核机制和结构剖析 /34
2.1 Linux与Android的关系 /35
2.1.1 为什么会选择Linux /35
2.1.2 Android不是Linux /35
2.2 Android对Linux内核的改动 /37
2.2.1 Goldfish /37
2.2.2 YAFFS2 /38
2.2.3 蓝牙 /39
2.2.4 调度器(Scheduler)/39
2.2.5 Android新增的驱动 /40
2.2.6 电源管理 /41
2.2.7 杂项 /41
2.3 Android对Linux内核的增强 /42
2.3.1 Alarm(硬件时钟)/43
2.3.2 Ashmem(匿名内存共享)/46
2.3.3 Low Memory Killer(低内存管理)/52
2.3.4 Logger(日志设备)/56
2.3.5 Android PMEM /65
2.3.6 switch /79
2.3.7 Timed GPIO /88
2.3.8 Android Ram Console /94
2.4 小结 /99
第3章 Android的IPC机制–Binder /100
3.1 Binder概述 /101
3.1.1 为什么选择Binder /101
3.1.2 初识Binder /102
3.2 Binder驱动的原理和实现 /102
3.2.1 Binder驱动的原理 /102
3.2.2 Binder驱动的实现 /103
3.3 Binder的构架与实现 /132
3.3.1 Binder的系统构架 /132
3.3.2 Binder的机制和原理 /133
3.4 小结 /150
第4章 电源管理 /151
4.1 电源管理概述 /152
4.2 电源管理结构 /152
4.3 Android的电源管理机制 /153
4.4 Android电源管理机制的实现 /154
4.5 小结 /187
第5章 驱动的工作原理及实现机制 /188
5.1 显示驱动(Framebuffer)/189
5.1.1 Framebuffer的工作原理 /189
5.1.2 Framebuffer的构架 /190
5.1.3 Framebuffer驱动的实现机制 /190
5.2 视频驱动(V4L和V4L2)/201
5.2.1 V4L2介绍 /201
5.2.2 V4L2的原理和构架 /201
5.2.3 V4L2的实现 /202
5.3 音频驱动(OSS和ALSA)/208
5.3.1 OSS与ALSA介绍 /208
5.3.2 OSS的构架与实现 /209
5.3.3 ALSA的构架与实现 /213
5.4 MTD驱动 /214
5.4.1 MTD驱动的功能 /214
5.4.2 MTD驱动的构架 /215
5.4.3 MTD驱动的原理及实现 /215
5.5 Event输入设备驱动 /223
5.5.1 Input的系统构架 /223
5.5.2 Event输入驱动的构架 /224
5.5.3 Event输入驱动的原理 /224
5.5.4 Event输入驱动的实现 /225
5.6 蓝牙驱动(Bluetooth)/235
5.6.1 Bluetooth驱动的构架 /235
5.6.2 BlueZ的原理及实现 /237
5.7 WLAN驱动(Wi-Fi)/244
5.7.1 WLAN构架 /244
5.7.2 Wi-Fi驱动的实现原理 /245
5.8 小结 /245
第6章 原生库的原理及实现 /246
6.1 系统C库(Bionic Libc)/247
6.1.1 Bionic Libc功能概述 /247
6.1.2 Bionic Libc实现原理 /248
6.2 功能库 /258
6.2.1 WebKit构架与实现 /258
6.2.2 多媒体框架与实现 /275
6.2.3 Android SQLite框架及原理 /285
6.3 扩展库 /289
6.3.1 Skia底层库分析 /289
6.3.2 OpenGL底层库分析 /299
6.3.3 Android-OpenSSL实现及运用 /306
6.3.4 FreeType及Font Engine Manager /317
6.3.5 FreeType结构体系和渲染流程 /317
6.4 原生服务 /328
6.4.1 AudioFlinger实现 /328
6.4.2 SurfaceFlinger实现 /341
6.5 小结 /353
第7章 硬件抽象层的原理与实现 /354
7.1 硬件抽象层的实现原理 /355
7.1.1 Android HAL构架 /355
7.1.2 Android HAL的实现 /357
7.2 Android Overlay构架与实现 /361
7.2.1 Android Overlay系统构架 /361
7.2.2 Overlay HAL框架与实现 /362
7.2.3 Overlay与SurfaceFinger /369
7.3 Android Camera 构架与实现 /375
7.3.1 Android Camera系统构架 /375
7.3.2 Camera HAL框架与实现 /377
7.3.3 Camera本地实现 /385
7.4 Android Audio HAL实现 /394
7.4.1 Audio HAL框架 /395
7.4.2 Android默认的Audio HAL实现 /398
7.4.3 DUMP功能的Audio HAL实现 /400
7.4.4 基于A2dp的蓝牙音频设备HAL实现 /402
7.4.5 模拟器上的Audio HAL实现 /403
7.5 Android RIL实现 /404
7.5.1 Android RIL构架 /404
7.5.2 radiooptiongs实现 /407
7.5.3 libril库实现 /409
7.5.4 reference-ril库实现 /415
7.5.5 RILD守护进程实现 /418
7.5.6 request流程分析 /423
7.5.7 response流程分析 /427
7.6 Android Sensor HAL实现 /434
7.6.1 Android Sensor构建 /434
7.6.2 Sensor HAL接口 /435
7.6.3 Sensor HAL实现 /438
7.7 Android WIFI HAL实现 /441
7.7.1 Android WIFI系统构架 /441
7.7.2 wpa_supplicant框架 /442
7.7.3 WIFI HAL实现 /444
7.8 Android蓝牙本地实现 /447
7.8.1 Android蓝牙构架 /447
7.8.2 BlueZ结构体系 /448
7.8.3 BlueZ适配层 /452
7.9 Android 定位实现 /453
7.9.1 定位系统构架 /453
7.9.2 GPS HAL实现 /454
7.10 Android Power HAL实现 /459
7.11 Android Vibrator HAL实现 /461
7.12 小结 /462
第8章 Dalvik虚拟机的构架、原理与实现 /463
8.1 Dalvik虚拟机概述 /464
8.1.1 什么是Dalvik虚拟机 /464
8.1.2 Dalvik虚拟机的功能 /464
8.1.3 Dalvik虚拟机与Java虚拟机的区别 /465
8.2 Dalvik构架与实现 /466
8.2.1 Dalvik系统构架 /466
8.2.2 dx和dexdump工具 /468
8.2.3 .dex文件格式解析 /470
8.2.4 Dalvik内部机制 /487
8.2.5 Dalvik进程管理 /492
8.2.6 Dalvik内存管理 /501
8.2.7 Dalvik加载器 /509
8.2.8 Dalvik解释器 /517
8.2.9 Dalvik JIT /519
8.3 JNI的构架与实现 /523
8.3.1 JNI构架 /523
8.3.2 JNI实现 /524
8.4 小结 /526
第9章 Android 核心库 /527
9.1 Android核心库简介 /528
9.2 Android系统API /529
9.2.1 android包 /529
9.2.2 android资源包 /529
9.2.3 ApiCheck机制 /529
9.3 小结 /532
后记 /533

亚马逊链接

基本信息

名称: Android基础教程(第3版•修订版)
作者信息: 作者: Ed Burnette [ 中文 pdf ]

简单介绍

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
目 录
第一部 分Android简介
第1章 快速入门 2
1.1 安装工具 2
1.1.1 Java 5.0+ 2
1.1.2 Eclipse 3
1.1.3 AndroidSDK启动程序软件包 4
1.1.4 AndroidSDK组件 4
1.1.5 Eclipse插件 5
1.2 创建第一个程序 7
1.3 在模拟器上运行程序 8
1.3.1 创建一个AVD 8
1.3.2 再试一次 10
1.4 在手机上运行程序 10
1.5 快速阅读指南 11
第2章 基本概念 12
2.1 Android的系统架构 12
2.1.1 Linux内核 13
2.1.2 本机库 13
2.1.3 Android运行时 14
2.1.4 应用程序框架 15
2.1.5 应用程序和小部件 15
2.2 它还活着 16
2.2.1 进程不等于应用程序 17
2.2.2 应用程序生命周期 17
2.3 构建块 19
2.3.1 活动 19
2.3.2 意图 19
2.3.3 服务 19
2.3.4 内容提供者 20
2.4 使用资源 20
2.5 安全性 20
2.6 快速阅读指南 21
第二部分 Android基础知识
第3章 设计用户界面 24
3.1 数独游戏简介 24
3.2 声明性设计 25
3.3 创建启动界面 26
3.4 使用替代资源 33
3.5 实现About对话框 35
3.6 应用主题 39
3.7 添加菜单 41
3.8 添加设置 42
3.9 开始新游戏 44
3.10 调试程序 45
3.10.1 利用日志消息调试程序 46
3.10.2 利用调试器调试程序 47
3.11 退出游戏 47
3.12 快速阅读指南 47
第4章 绘制2D图形 49
4.1 Android图形基础 49
4.1.1 Color类 49
4.1.2 Paint类 50
4.1.3 Canvas类 50
4.1.4 Path类 51
4.1.5 Drawable类 52
4.2 在数独程序中添加图形 53
4.2.1 开始游戏 54
4.2.2 定义Game类 54
4.2.3 定义PuzzleView类 56
4.2.4 绘制游戏盘面 57
4.2.5 绘制数字 60
4.3 处理输入 61
4.3.1 定义和更新选定区域 61
4.3.2 输入数字 63
4.3.3 增加提示 64
4.3.4 抖动屏幕 65
4.4 其他问题 66
4.4.1 创建软键盘 66
4.4.2 实现游戏逻辑 71
4.4.3 其他功能 73
4.5 更多改进 74
4.6 快速阅读指南 75
第5章 多媒体 76
5.1 播放音频 76
5.2 播放视频 81
5.3 为数独游戏配上音乐 85
5.4 快速阅读指南 88
第6章 存储本地数据 89
6.1 为数独游戏添加选项 89
6.2 继续玩前一个游戏 91
6.3 记住当前位置 92
6.4 访问内部文件系统 94
6.5 访问SD卡 95
6.6 快速阅读指南 96
第三部分 高级主题
第7章 互联的世界 98
7.1 通过意图实现浏览 99
7.2 利用视图打开网页 102
7.3 JavaScript与Java通信 106
7.4 使用Web服务 112
7.5 快速阅读指南 122
第8章 定位与环境感知 124
8.1 位置,位置,位置 124
8.1.1 我在哪里 125
8.1.2 更新位置 127
8.1.3 模拟说明 130
8.2 充分利用传感器 130
8.2.1 了解传感器 130
8.2.2 解析传感器的读数 131
8.2.3 模拟说明 132
8.3 地图功能 133
8.3.1 嵌入MapView 133
8.3.2 准备就绪 136
8.3.3 模拟说明 137
8.4 快速阅读指南 137
第9章 SQL实战 138
9.1 SQLite简介 138
9.2 SQL基础 139
9.2.1 DDL语句 140
9.2.2 修改语句 140
9.2.3 查询语句 140
9.3 你好,数据库 141
9.3.1 使用SQLiteOpenHelper 142
9.3.2 定义主程序 143
9.3.3 添加一行 145
9.3.4 运行一个查询 145
9.3.5 显示查询结果 146
9.4 数据绑定 147
9.5 使用ContentProvider 150
9.5.1 更改主程序 152
9.5.2 添加一行 152
9.5.3 运行一个查询 152
9.6 实现ContentProvider 153
9.7 快速阅读指南 154
第10 章 利用OpenGL实现3D图形 155
10.1 理解3D图形 155
10.2 OpenGL简介 156
10.3 构建一个OpenGL程序 157
10.4 渲染场景 158
10.5 构建一个模型 162
10.6 光线、相机 165
10.7 动作 166
10.8 应用纹理 167
10.9 透明效果 169
10.10 测量平滑度 170
10.11 快速阅读指南 171
第四部分 下一代产品
第11章 多点触控 174
11.1 多点触控概述 174
11.2 创建触控示例 176
11.3 了解触控事件 178
11.4 设置图像变换 180
11.5 实现拖动动作 181
11.6 实现捏压缩放动作 182
11.6.1 两个点之间的距离 183
11.6.2 两个点的中点 183
11.7 快速阅读指南 184
第12章 主界面 185
12.1 Hello,Widget 185
12.1.1 创建第一个小部件程序 185
12.1.2 调用所有小部件 187
12.1.3 拉伸以适合屏幕尺寸 188
12.1.4 使用和扩展 189
12.1.5 运行小部件 189
12.1.6 最新进展 190
12.1.7 快乐之旅 192
12.2 动态壁纸 192
12.2.1 创建壁纸项目 193
12.2.2 服务简介 195
12.2.3 创建一个绘图引擎 196
12.2.4 重用OpenGL代码 197
12.2.5 创建和销毁引擎 198
12.2.6 管理Surface 199
12.2.7 可视化壁纸 201
12.2.8 响应用户的输入 201
12.3 快速阅读指南 203
第13章 一次编写,到处测试 204
13.1 启动模拟器 204
13.2 创建适用于多个版本的程序 205
13.3 AndroidAPI的发展 206
13.4 大量错误 212
13.5 各种屏幕尺寸 213
13.6 在SD卡上安装程序 214
13.7 快速阅读指南 215
第14章 发布到AndroidMarket 216
14.1 准备工作 216
14.2 签名 217
14.3 发布 218
14.4 更新 219
14.5 结语 220
第五部分 附录
附录A Java与Android:语言及其API 222
附录B 参考书目 226

亚马逊链接

基本信息

名称: 细说Android 4.0 NDK编程
作者信息: 作者: 王家林 [ 中文 pdf ]

简单介绍

《细说Android 4.0 NDK编程》力求从多个技术角度将移动互联网智能终端软件开发的重点、难点及解决方法呈现给读者,使读者通过系统的学习,可以在移动互联网迅猛发展的浪潮中自由遨游。《细说Android 4.0 NDK编程》适合从事Android开发的人员阅读。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
第1章 Android 4.0开发环境搭建和测试
1.1 下载所需要的软件
1.2 安装所需要的软件
1.3 第一个Android 4.0程序
1.4 剖析Android 4.0程序的组织结构
1.5 Android4.0模拟器无3G信号的解决方案
第2章 使用C语言编程
2.1 下载并安装C语言交叉编译工具链
2.2 第一个C语言程序
2.3 在Android上安装、授权、运行C语言程序
2.4 采用动态链接的方式生成可执行文件并在Android上安装、授权、运行C程序
2.5 解决采用动态链接方式生成的可执行文件执行时的“Segmentation fault”问题
第3章 搭建Android NDK开发环境并开发第一个Android NDK程序
3.1 下载Windows下开发Android NDK所需的软件
3.2 安装Windows下Android NDK开发环境
3.3 配置Cygwin
3.4 开发第一个Android NDK程序
第4章 Android NDK中的代码调用
4.1 NDK与JNI的关系
4.2 JNI中的JavaVM与JNIEnv对象
4.3 Android NDK中Java通过JNI调用C的步骤
4.4 本地C代码调用Java中的Method
4.5 本地C代码获得Java对象的属性值
4.6 多个类中有本地C代码的调用
4.7 Java、Dalvik VM、C∕C++的运行机制与流程
4.8 Java中分配线程调用C∕C++函数
第5章 NDK的架构∕设计模式及NDK与软∕硬件整合、云计算
5.1 NDK的架构图及思考
5.2 Facade设计模式剖析
5.3 Facade设计模式在JNI中的应用
5.4 Facade设计模式在NDK中的应用
5.5 NDK的优势与不足
5.6 NDK与软顾件整合
5.7 NDK与云计算
附录A Android UI编程
附录B 如何成为Android高手V2.0:结合云计算和智能终端、软∕硬件整合

亚马逊链接

基本信息

名称: 图灵程序设计丛书:Android平板电脑编程基础教程
作者信息: 作者: Robbie Matthews [ 中文 pdf ]

简单介绍

《图灵程序设计丛书:Android平板电脑编程基础教程》通过大量示例项目,全面介绍Android平板电脑编程,协助你创建一系列有趣的Android应用程序,既包括实用程序,又涵盖好玩的游戏。最重要的是,它从基础知识讲起,就算没有任何Android经验,只要你从头开始阅读,也能读懂。通过阅读《图灵程序设计丛书:Android平板电脑编程基础教程》,你将学到:触摸屏环境编程;在应用程序中使用传感器及其提供的数据;开发Android平板电脑游戏;用多种语言编写Android平板电脑应用程序;将Android智能手机应用程序迁移到Android平板电脑。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
第1章 Android入门
1.1 我的便携式编程之路
1.2 Android横空出世
1.3 准备好计算机
1.3.1 搭建开发环境
1.3.2 创建模拟器实例
1.3.3 设置路径
1.4 编写第一个Android程序
1.5 如果你害怕Java
1.6 Java简介
1.6.1 Java的基本结构
1.6.2 基本数据类型
1.6.3 流程控制
1.6.4 对象
1.6.5 构造函数、初始化块和重载
1.6.6 何时释放对象
1.6.7 字符串处理
1.6.8 包
1.6.9 列表和映射
1.6.10 泛型
1.6.11 继承和接口
1.6.12 注解
1.6.13 其他内容
1.7 总结
第2章 Android的工作原理
2.1 Android程序的基本结构
2.2 意图简介
2.2.1 意图过滤器
2.2.2 常见意图
2.2.3 结束活动
2.3 Android与Linux
2.4 总结
第3章 Android平板电脑的功能
3.1 大量传感器
3.2 光线、相机和操作
3.3 浏览网页
3.3.1 管理资产
3.3.2 WebView的强大功能
3.4 你的个人通讯录:管理联系人
3.4.1 访问联系人
3.4.2 列表简介
3.4.3 访问联系人信息的其他方式
3.5 个人经验分享:收发数据
3.5.1 补充内容:选项菜单
3.5.2 发送电子邮件
3.6 喧闹的音画世界:管理多媒体文件
3.7 总结
第4章 超越Java:Python编程
4.1 为何使用另一种语言
4.2 准备
4.3 管理脚本
4.3.1 Help! I Need Somebody
4.3.2 Python帮助
4.3.3 Facade是什么
4.3.4 再谈意图
4.3.5 使用意图的不同方式
4.3.6 用户交互
4.3.7 事件
4.3.8 多媒体文件
4.3.9 控制手机
4.3.10 我身处何方
4.3.11 电池
4.3.12 让设备处于唤醒状态
4.3.13 编辑技巧
4.3.14 联系人和电话号码
4.3.15 SQL
4.3.16 其他接口
4.4 总结
第5章 多媒体播放器
5.1 片段
5.1.1 片段是什么
5.1.2 研究示例
5.1.3 操作栏
5.1.4 片段管理器
5.2 多媒体播放器
5.2.1 以列表方式显示游标的内容
5.2.2 查询多媒体文件
5.2.3 响应单击
5.2.4 再谈操作栏
5.2.5 菜单
5.2.6 获取多媒体文件的URI
5.2.7 播放多媒体文件
5.2.8 各种多媒体
5.2.9 对话框
5.2.10 修改文件列表的游标
5.2.11 高级多媒体播放
5.2.12 显示进度
5.2.13 控制进度
5.3 总结
第6章 资源管理器
6.1 文件资源管理器剖析
6.1.1 使用ListActivity
6.1.2 资源
6.1.3 创建自定义列表适配器
6.1.4 填充
6.1.5 填充列表
6.1.6 获取有关文件的信息
6.1.7 MIME类型
6.1.8 获悉文件的日期信息
6.1.9 入乡随俗
6.1.10 设置首选项
6.1.11 读取首选项
6.1.12 排序技巧
6.1.13 活动本身
6.1.14 对用户选择列表项做出响应
6.1.15 OnCreate方法
6.1.16 另一个菜单
6.1.17 响应上下文菜单
6.1.18 对话框
6.1.19 一些清理工作
6.1.20 改进
6.2 总结
第7章 联系人管理器
7.1 完全不同的领域
7.1.1 最终创建的应用程序
7.1.2 指示牌剖析
7.1.3 获悉视图何时可用
7.1.4 改进空间
7.1.5 向后兼容性
7.1.6 列表处理
7.1.7 保存列表
7.1.8 重用库
7.1.9 导入和导出
7.1.10 有关对话框的最后说明
7.2 管理联系人
7.2.1 Loader
7.2.2 启动Loader
7.2.3 Loader的工作原理
7.2.4 为何使用Loader
7.2.5 搜索栏
7.2.6 联系人详细信息
7.2.7 编辑数据
7.2.8 添加电话号码
7.2.9 修改电话号码类型
7.2.10 删除数据
7.3 总结
第8章 定位
8.1 位置管理器
8.1.1 位置提供器
8.1.2 BAT3PGps
8.1.3 一个操作位置管理器的类
8.1.4 位置
8.2 应用程序本身
8.2.1 指南针
8.2.2 方位和距离
8.3 到达目的地了吗
8.3.1 叫醒服务
8.3.2 服务
8.3.3 通知
8.3.4 接近提醒
8.3.5 “接近提醒”的优点和缺点
8.4 目的地列表
8.4.1 这是什么地方
8.4.2 接下来怎么办
8.5 总结
第9章 游戏编程
9.1 线程
9.1.1 Java线程
9.1.2 Android线程
9.2 移动的点
9.2.1 SurfaceView
9.2.2 使用SurfaceHolder
9.2.3 Handler
9.2.4 使用Handler
9.2.5 运行游戏
9.2.6 处理输入
9.2.7 自定义字体
9.2.8 资产是什么
9.2.9 字体示例
9.2.10 另一种创建菜单的方式
9.3 进入三维领域
9.3.1 一个盒子
9.3.2 其他进程间通信方式
9.4 总结
第10章 提醒
10.1 闹钟
10.1.1 PendingIntent
10.1.2 停止闹钟
10.1.3 匹配的PendingIntent
10.2 发送短信
10.3 语音合成
10.4 SQLite
10.4.1 创建SQLite数据库
10.4.2 获取数据库
10.4.3 使用数据库
10.5 示例应用程序
10.5.1 使用该应用程序
10.5.2 联系人
10.5.3 设置闹钟
10.5.4 闹钟列表
10.5.5 检查TTS
10.5.6 改进该应用程序
10.6 总结
第11章 其他
11.1 定时器
11.2 在后台执行任务
11.3 下载管理器
11.4 动画
11.4.1 定义动画
11.4.2 竟然明目张胆地插值
11.4.3 加载动画
11.5 USB
11.5.1 USB编程
11.5.2 响应USB事件
11.6 总结

亚马逊链接

基本信息

名称: Android编程入门很简单
作者信息: 作者: 王勇 [ 中文 pdf ]

简单介绍

《Android编程入门很简单(8.7小时多媒体教学视频)》是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书。《Android编程入门很简单(8.7小时多媒体教学视频)》避免出现云山雾罩、晦涩难懂的讲解,代之以轻松活泼、由浅入深的剖析。这必将使得阅读《Android编程入门很简单(8.7小时多媒体教学视频)》的读者少走弯路,快速上手,从而建立学习Android开发的信心。《Android编程入门很简单(8.7小时多媒体教学视频)》配带1张光盘,收录了《Android编程入门很简单(8.7小时多媒体教学视频)》重点内容的教学视频和《Android编程入门很简单(8.7小时多媒体教学视频)》涉及的所有源代码。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
第1篇入门必备
第1章初识Android
1.1手机发展简史
1.1.1手机发展的里程碑
1.1.2Android的各个版本
1.2开放手机联盟
1.2.1开放手机联盟的目的
1.2.2分工合作
1.3Android中的个人英雄主义
1.3.1第一届挑战赛冠军介绍
1.3.2第二届挑战赛冠军介绍
1.3.3Androidmarket
1.4Android平台
1.4.1Android体系结构
1.4.2熟悉的开发工具
1.4.3合理的学习曲线
1.5小结
第2章搭建你的开发环境
2.1配置前的准备工作
2.1.1 Android支持的操作系统
2.1.2准备“四大法宝”
2.2安装并配置JDK
2.2.1 安装JDK
2.2.2配置JDK
2.3安装并配置Eclipse
2.3.1 运行Eclipse
2.3.2 了解Eclipse
2.4安装并配置Android SDK
2.4.1 下载Android SDK
2.4.2配置SDK
2.5下载ADT
2.5.1 下载ADT
2.5.2 为Eclipse设置SDK路径
2.6新建模拟器
2.6.1 新建AVD
2.6.2运行模拟器
2.7真机测试
2.7.1安装手机驱动
2.7.2设置手机
2.8 小结
第3章创建第一个程序——helloworld
3.1新建第一个程序
3.1.1新建工程
3.1.2运行程序
3.2认识HelloWodd
3.2.1 首识Android工程
3.2.2认识布局文件
3.2.3认识值文件
3.2.4认识R文件
3.2.5认识注册文件
3.3调试程序
3.3.1 增加断点
3.3.2开始调试
3.3.3单步调试
3.4更多示例程序
3.4.1 导入Samples
3.4.2经典范例
3.5 小结
第4章使用Android工具
4.1使用DDMS
4.1.1 认识DDMS
4.1.2使用进程
4.1.3使用文件浏览器
4.1.4使用模拟器控制
4.1.5 使用日志
4.1.6使用Screen Capture捕捉设备屏幕
4.2 使用Android调试桥
4.2.1使用ADB
4.2.2显示连接到计算机的设备
4.2.3针对特定设备操作
4.2.4启动和停止ADB
4.2.5使用ADB操作文件和apk
4.2.6使用ADB shell
4.3 使用AAPT
4.3.1使用ADT导出签名程序
4.3.2使用命令行生成签名apk文件
4.4小结
第2篇界面开发
第5章探索界面ui元素
5.1认识Android视图、Widget以及布局
5.2必须了解的Widget组件
5.2.1 使用可滚动的文本控件——TextView
5.2.2 TextView中的一些功能
5.2.3 使用可滚动的视图——ScrollView
5.2.4文字的编辑
5.2.5 使用按钮——Button
5.2.6实例——计算器
5.2.7 使用图片按钮——ImageButton
5.2.8 使用复选框——CheckBox
5.2.9实例——请同意本协议
5.2.10 使用单选框——RadioGroup
5.2.11 实例——请选择性别
5.2.12使用下拉列表框——Spinner
5.2.13实例——请选择工作年限
5.2.14实例——动态修改Spinner项
5.2.15 使用进度条——ProgressBar
5.2.16实例——动态修改进度条
5.2.17使用拖动条——SeekBar
5.2.1 8实例——简单使用SeekBar
5.2.19使用图片视图——ImageView
5.2.20实例——ImageView的重叠效果
5.2.21 使用网格视图——GridView
5.2.22实例——通过宫格视图展示相应的应用
5.2.23 使用消息提醒——Toast
5.2.24实例——Toast的4种实现
5.3使用列表视图(ListView&ExpandableListView)
5.3.1 使用列表——ListView
5.3.2通过实例学习列表
5.3.3 使用可扩展列表——EXpalldableListView
5.3.4实例——简单使用ExpandableListView
5.3.5实例——深入使用可扩展列表
5.4使用菜单——Menu
5.4.1 Menu的使用
5.4.2通过实例学习使用Menu
5.5小结
第6章使用程序资源
6.1资源的意义
6.1.1什么是资源
6.1.2怎样存储资源
6.I.3怎样添加资源
6.1.4资源的种类
6.1.5怎样访问资源
6.2使用资源
6.2.1 使用资源管理器
6.2.2使用String资源
6.2.3实例——彩虹和太极
6.2.4使用String数组资源
6.2.5使用Color资源
6.2.6使用Dimension资源
6.2.7使用Drawble资源
6.2.8使用样式
6.2.9使用主题
6.3 小结
第7章设计界面布局
7.1创建界面
7.1.1 使用xml资源创建布局
7.1.2使用代码创建布局
7.2使用布局类
7.2.1使用绝对布局
7.2.2使用线性布局
7.2.3使用框架布局
7.2.4使用表格布局
7.2.5使用关系布局
7.3使用其他布局容器
7.3.1 使用TabActivity
7.3.2 自定义TabHost
7.3.3 使用对话框
7.3.4使用滑动抽屉
7.4 小结
第3篇功能实现
第8章Android应用程序组成
8.1深入理解Activity
8.1.1使用Intent连接Activity
8.1.2 Activity的生命周期
……
第9章Android中的数据存储
第10章绚丽的多媒体技术
第11章Android网上冲浪
第12章Android地图服务
第4篇项目案例开发
第13章联系人助手
第14章个人轨迹跟踪器

亚马逊链接

基本信息

名称: Android 4编程入门经典:开发智能手机与平板电脑应用
作者信息: 作者: 李伟梦 (Wei-Meng Lee) [ 中文 pdf ]

简单介绍

《Android 4编程入门经典:开发智能手机与平板电脑应用》编辑推荐:Android4的问世,标志着Google将Android操作系统的大旗插到了智能手机和平板电脑的阵营中。《Android 4编程入门经典:开发智能手机与平板电脑应用》将教会您成功开发Android应用程序所需的一切。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
第1章 Android编程入门
1.1 Android简介
1.1.1 Android版本
1.1.2 Android功能
1.1.3 Android架构
1.1.4市场上的Android设备
1.1.5 AndroidMarket
1.1.6 Android开发社区
1.2获得所需工具
1.2.1 Android SDK
1.2.2安装Android SDK工具
1.2.3配置Android SDK Manager
1.2.4 Eclipse
1.2.5 Android开发工具
1.2.6创建Android虚拟设备(AVD)
1.3创建第一个Android应用程序
1.4 Android应用程序剖析
1.5本章小结
第2章 活动、碎片和意图
2.1理解活动
2.1.1如何对活动应用样式和主题
2.1.2隐藏活动标题
2.1.3显示对话框窗口
2.1.4显示进度对话框
2.1.5显示更复杂的进度对话框
2.2使用意图链接活动
2.2.1解决意图筛选器的冲突
2.2.2从意图返回结果
2.2.3使用意图对象传递数据
2.3碎片
2.3.1动态添加碎片
2.3.2碎片的生命周期
2.3.3碎片之间进行交互
2.4使用意图调用内置应用程序
2.4.1理解意图对象
2.4.2使用意图筛选器
2.4.3添加类别
2.5显示通知
2.6本章小结
第3章 Android用户界面
3.1 了解屏幕的构成
3.1.1视图和视图组
3.1.2 LinearLayout
3.1.3 AbsoluteLayout
3.1.4 TableLayout
3.1.5 RelativeLayout
3.1.6 FrameLayout
3.1.7 ScrollView
3.2适应显示方向
3.2.1锚定视图
3.2.2调整大小和重新定位
3.3管理屏幕方向的变化
3.3.1配置改变时保持状态信息
3.3.2检测方向改变
3.3.3控制活动的方向
3.4使用Action Bar
3.4.1 向Action Bar添加动作项
3.4.2定制动作项和应用程序图标
3.5 以编程方式创建用户界面
3.6侦听用户界面通知
3.6.1重写活动中定义的方法
3.6.2为视图注册事件
3.7本章小结
第4章 使用视图设计用户界面
4.1基本视图
4.1.1 TextView视图
4.1.2 Button、ImageButton、EditText、CheckBox、ToggleButton、RadioButton和RadioGroup视图
4.1.3 ProgressBar视图
4.1.4 AutoCompleteTextView视图
4.2选取器视图
4.2.1 TimePicker视图
4.2.2 DatePicker视图
4.3使用列表视图显示长列表
4.3.1 ListView视图
4.3.2使用Spinner视图
4.4了解特殊碎片
4.4.1使用ListFragment
4.4.2使用DialogFragment
4.4.3使用PreferenceFragment
4.5 本章小结
第5章 使用视图显示图片和菜单
5.1使用图像视图显示图片
5.1.1 Gallery和ImageView视图
5.1.2 ImageSwitcher
5.1.3 GridView
5.2将菜单和视图一起使用
5.2.1创建辅助方法
5.2.2选项菜单
5.2.3上下文菜单
5.3其他一些视图
5.3.1 AnalogClock和DigitalClock视图
5.3.2 WebView
5.4本章小结
第6章 数据持久化
6.1保存和加载用户首选项
6.1.1使用活动访问首选项
6.1.2通过编程检索和修改首选项值
6.1.3修改首选项文件的默认名称
6.2将数据持久化到文件中
6.2.1保存到内部存储器
6.2.2保存到外部存储器(SD卡)
6.2.3选择最佳存储选项
6.2.4使用静态资源
6.3创建和使用数据库
6.3.1创建DBAdapter辅助类
6.3.2以编程方式使用数据库
6.3.3预创建数据库
6.4本章小结
第7章 内容提供者
7.1在Android中共享数据
7.2使用内容提供者
7.2.1预定义查询字符串常量
7.2.2投影
7.2.3筛选
7.2.4排序
7.3创建自己的内容提供者
7.4使用内容提供者
……
第8章 消息传递
第9章 基于位置的服务
第10章 联网
第11章 开发Android服务
第12章 发布Android应用程序
附录A 使用Eclipse进行Android开发
附录B 使用Android模拟器
附录C 练习答案

亚马逊链接

基本信息

名称: 移动应用UI设计模式
作者信息: 作者: 尼尔 (Theresa Neil) [ 中文 pdf ]

简单介绍

《移动应用UI设计模式》面向的读者是创建移动应用的产品经理、设计师和开发者。无论是针对某一移动操作系统设计一款简单的应用,还是开发应用于市场上所有操作系统的移动应用,《移动应用UI设计模式》都能为行业内的人员提供帮助。另外,《移动应用UI设计模式》还可以作为智能手机及其应用爱好者的参考读物,书中400 多张的应用设计截图能极大地开阔你的视野。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
第1章 导航
1.1主要导航模式
1.1.1跳板式
1.1.2列表菜单式
1.1.3选项卡式
1.1.4陈列馆式
1.1.5仪表式
1.1.6隐喻式
1.1.7超级菜单式
1.2次级导航模式
1.2.1页面轮盘式
1.2.2图片轮盘式
1.2.3扩展列表式
第2章 表单
2.1登录表单
2.2注册表单
2.3核对表单
2.4计算表单
2.5搜索表单
2.6多步骤表单
2.7长表单
第3章 表格和列表
3.1基本表格
3.2无表头表格
3.3固定列表格的表格
3.4带有内容总览和数据的表格
3.5行分组表格
3.6级联式列表
3.7带有视觉指示器的表格
3.8可编辑表格
第4章 搜索、分类和过滤
4.1搜索
4.1.1显性搜索
4.1.2自动补全搜索
4.1.3动态搜索
4.1.4范围搜索
4.1.5保存搜索记录并显示最近搜索内容
4.1.6搜索表单
4.1.7搜索结果/浏览结果
4.2分类
4.2.1屏内分类
4.2.2分类排序选择器
4.2.3分类表单
4.3过滤
4.3.1屏内过滤
4.3.2过滤容器
4.3.3过滤对话框
4.3.4过滤表单
第5章 工具
5.1工具栏
5.2选项菜单
5.3调用动作按钮
5.4情境工具
5.5内联操作
5.6多状态按钮
5.7批量操作102
第6章 图表
6.1带过滤器的图表
6.2带预览窗口的图表
6.3总览加数据式图表
6.4数据点细节图
6.5详细信息图
6.6缩放图表
6.7数据透视表
6.8火花谱线图
第7章 视觉吸引
7.1对话框
7.2提示
7.3使用向导
7.4视频演示
7.5幻灯片133
7.6首次使用引导
7.7持续视觉吸引
7.8可发现的视觉吸引
第8章 反馈与功能可见性
8.1反馈
8.2出错信息
8.3确认
8.4系统状态
8.5功能可见性
8.5.1触摸
8.5.2滑动
8.5.3拖曳
第9章 帮助
9.1使用说明
9.2界面元素说明
9.3使用向导
第10章 反模式
10.1标新立异
10.2隐喻错位
10.2.1控制错位
10.2.2图标错位
10.2.3心理模型错位
10.3愚蠢的对话框
10.4图表垃圾
10.5按钮海
附录
关于作者

亚马逊链接

基本信息

名称: Android的设计与实现(卷1)
作者信息: 作者: 杨云君 [ 中文 pdf ]

简单介绍

《Android的设计与实现(卷1)》编辑推荐:从源代码角度,系统、深入、透彻剖析Android系统框架层(Framework)的设计思想和实现原理,为Android应用工程师和系统工程师解决各种难题提供了原理性的指导!资深Android内核专家亲自执笔,Lordhong等数位资深专家和安卓巴士等专业社区联袂推荐。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
前言
第一部分 基础篇
第1章 Android体系结构及源代码阅读环境搭建
1.1 Android发展过程
1.2 Android体系结构
1.2.1 静态视角的体系结构
1.2.2 动态视角的体系结构
1.3 Android源码下载和编译
1.3.1 搭建开发环境
1.3.2 下载Android上层系统源代码
1.3.3 下载指定模块源码
1.3.4 下载 Android Linux Kernel源码
1.3.5 编译Android上层系统源码
1.3.6 编译指定模块源码
1.4 Android源码结构
1.5 Android源码开发工具的配置和使用
1.5.1 配置Android SDK
1.5.2 用Eclipse开发和调试源代码
1.5.3 用Source Insight阅读源代码
1.6 NDK开发环境配置
1.7 本章小结
第2章 框架基础JNI
2.1 JNI在Android系统中所处的位置
2.2 JNI框架层实例分析
2.2.1 Log系统Java层分析
2.2.2 Log系统的JNI层
2.2.3 Log系统的JNI方法注册
2.3 JNI总管:JNIEnv
2.4 在Java中调用JNI实现方法
2.4.1 Java数据类型与JNI数据类型转换
2.4.2 JNI方法命名规则
2.4.3 JNI方法签名规则
2.5 JNI操作Java对象
2.5.1 访问Java对象
2.5.2 操作成员变量(域)和方法
2.5.3 全局引用、弱全局引用和局部引用
2.6 JNI异常处理
2.7 JNI应用层实例分析
2.7.1 Java层分析
2.7.2 JNI层代码和异常处理
2.8 本章小结
第二部分 启动篇
第3章 Android启动过程的底层实现
3.1 Android正常模式启动流程
3.2 Kernel启动过程
3.2.1 内核引导阶段
3.2.2 内核启动阶段
3.3 init进程的执行过程
3.4 init.rc文件解析过程
3.4.1 Android初始化语言
3.4.2 init.rc的内容
3.4.3 解析配置文件
3.4.4 解析Service
3.4.5 解析Action
3.5 触发并启动Action和Service
3.5.1 触发Action
3.5.2 执行Action
3.5.3 启动Service
3.5.4 init对属性服务的处理
3.6 init循环监听处理事件
3.7 本章小结
第4章 Android 启动过程的上层实现
4.1 第一个Dalvik虚拟机zygote
4.1.1 zygote的配置
4.1.2 如何执行zygote服务程序
4.2 ZygoteInit的启动过程
4.2.1 创建Dalvik虚拟机
4.2.2 注册JNI方法
4.2.3 开启Java世界
4.3 ZygoteInit开启Java世界的五部分工作
4.3.1 注册zygote的Socket
4.3.2 预加载Class资源和Resource资源
4.3.3 启动system_server进程
4.3.4 执行MethodAndArgsCalle的run方法
4.3.5 执行runSelectLoopMode方法
4.4 zygote处理Home启动请求
4.5 本章小结
第三部分 Binder篇
第5章 Binder在Native框架层的实现
5.1 Binder与C/S体系结构概述
5.2 servicemanager进程的启动过程
5.2.1 初始化Binder通信环境
5.2.2 注册上下文管理者
5.2.3 等待接收并处理IPC通信请求
5.3 Server的启动和Service的注册过程
5.3.1 创建ProcessState对象
5.3.2 获取servicemanager的代理对象
5.3.3 注册Service
5.3.4 Server进程开启线程池
5.4 Client端使用服务代理对象
5.5 服务代理与服务通信
5.6 本章小结
第6章 Binder在Java框架层的实现
6.1 Java系统服务的创建过程
6.1.1 创建JavaBBinderHolder对象
6.1.2 JavaBBinder的作用
6.1.3 gBinderOffsets结构体解析
6.2 Java系统服务的注册过程
6.2.1 调用BinderInternal.getContextObject方法
6.2.2 调用ServiceManagerNative.asInterface方法
6.2.3 调用ServiceManagerProxy.addService方法注册服务
6.3 Client端获取服务代理
6.3.1 获取服务的BinderProxy
6.3.2 构造服务的Proxy对象
6.3.3 构造服务管理者对象
6.4 Client端调用Java系统服务的方法
6.5 统一的通信接口AIDL
6.5.1AIDL实例
6.5.2AIDL语法
6.5.3处理自定义数据类型的传递
6.6 本章小结
第四部分 消息通信篇
第7章 线程消息通信与异步处理
7.1 什么是Looper线程
7.2 第一步:Looper线程准备阶段
7.2.1 创建Java层的Looper对象
7.2.2 创建Java层的MessageQueue—对象
7.2.3 创建Native层的NativeMessageQueue和Looper对象
7.2.4 NativeMessageQueue关联到MessageQueue
7.3 第二步:创建消息处理器并发送消息
7.3.1 Handler的创建和初始化
7.3.2 Message的创建和初始化
7.3.3 消息的发送过程
7.4 第三步:Looper线程循环阶段
7.4.1 记录并获取当前线程身份信息
7.4.2 循环监听消息
7.4.3 分发消息到处理器
7.4.4 回收消息并更新消息池
7.5 异步任务类AsyncTask
7.5.1 AsyncTask的实现
7.5.2 AsyncTask的执行
7.6 本章小结
第五部分 Package Manager篇
第8章 Package Manager 的机制与实现
8.1 Package Manager体系结构
8.1.1 三层体系结构
8.1.2 三层之间的关系
8.2 PackageManagerService的启动过程
8.2.1 创建并初始化Settings对象
8.2.2 获取系统默认配置
8.2.3 启动PackageHandler
8.2.4 创建data目录并初始化UserManager
8.2.5 解析系统permission和feature信息
8.2.6 解析packages文件
8.2.7 dexopt优化判定
8.2.8 启动FileObserver监控APK文件的目录
8.2.9 调用scanDirLI方法扫描并安装APK包
8.2.10 更新packages文件
8.3 PackageManagerService启动过程使用的核心组件
8.3.1 Java层的Installer
8.3.2 Installd中的命令
8.4 本章小结
第9章 APK的安装过程
9.1 通过scanDirLI方法安装APK
9.1.1 创建PackageParser
9.1.2 解析AndroidManifest.xml文件
9.1.3 过滤PackageParser.Package类型的pkg对象
9.1.4 解析和安装pkg
9.2 使用adb命令安装应用程序
9.2.1 通过消息机制安装指定的APK
9.2.2 调用handleStartCopy方法处理安装操作
9.2.3 调用handleReturnCode方法处理返回结果
9.3 本章小结
第六部分 Activity Manager篇
第10章 Activity Manager的机制与实现
10.1 Activity Manager概述
10.2 ActivityManagerService在系统启动阶段的主要工作
10.3 第一阶段:启动ActivityManagerService
10.3.1 启动AThread线程
10.3.2 创建ActivityThread对象
10.3.3 创建ActivityStack类
10.3.4 调用startRunning方法
10.4 第二阶段:调用setSystemProcess方法
10.4.1 查询并处理ApplicationInfo
10.4.2 创建并初始化ProcessRecord
10.5 第三阶段:调用install—SystemProviders方法
10.5.1 查询Content Provider
10.5.2 安装Content Provider
10.6 第四阶段:调用systemReady方法
10.6.1 发送ACTION_PRE_BOOT_COMPLETED广播
10.6.2 清理预启动的非persistent进程
10.6.3 读取Settings配置
10.6.4 运行Runnable回调接口
10.6.5 启动persistent应用程序和Home
10.7 本章小结
第11章 应用程序Activity的启动和调度
11.1 启动应用程序Activity时在Client端的执行流程
11.2 启动应用程序Activity时在Server端的执行流程
11.2.1 预启动
11.2.2 暂停
11.2.3 启动应用程序进程
11.2.4 加载应用程序Activity
11.2.5 显示Activity
11.2.6 Activity Idle状态的处理过程
11.2.7 停止源Activity
11.3 本章小结
第12章 Activity Manager进程 管理
12.1 LRU weight机制
12.2 OOM adj机制
12.2.1 更新OOM adj值
12.2.2 OOM adj的计算过程
12.3 Low Memory Killer机制
12.3.1 OOM adj等级和最小内存阈值
12.3.2 LM Killer机制的实现
12.4 本章小结

亚马逊链接

基本信息

名称: Android 3D游戏案例开发大全
作者信息: 作者: 吴亚峰 于复兴 杜化美 [ 中文 pdf ]

简单介绍

9大完整案例全面讲解了Android平台下3D游戏的开发技术,国际象棋人机对弈、疯狂的石头、3D坦克对战、快乐小球,3D推箱子、3D抽方块、炫动方块、3D乒乓锦标赛、3D极品桌球7大典型游戏类别 棋牌类游戏、物理引擎游戏、蓝牙对战游戏、竞速类游戏、益智类游戏、休闲类游戏、体育竞技类游戏两大版本渲染技术:OpenGL ES 1.x和OpenGL ES 2.0

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
目 录 

第1章 千里之行始于足下——Android平台简介及开发环境的使用 1 1.1 Android的来龙去脉 1 1.2 掀起Android的盖头来 2 1.2.1 选择Android的理由 2 1.2.2 Android的应用程序框架 3 1.3 Android开发环境的搭建 5 1.3.1 SDK的下载及安装 5 1.3.2 Eclipse集成开发环境的搭建 6 1.3.3 虚拟设备的创建与模拟器的运行 8 1.3.4 Eclipse与真机的连接 11 1.3.5 导入并运行Android程序 12 1.3.6 Android程序的监控与调试 12 1.4 小结 14

第2章 棋牌类3D游戏——国际象棋人机对弈 15 2.1 游戏背景及功能概述 15 2.1.1 背景概述 15 2.1.2 功能简介 16 2.2 游戏的策划和准备工作 18 2.2.1 游戏的策划 18 2.2.2 游戏的准备工作 19 2.3 游戏的架构 21 2.3.1 各个类简要介绍 21 2.3.2 游戏框架简介 23 2.4 主控制类——GJXQActivity类的开发 24 2.5 辅助界面相关类 28 2.5.1 欢迎界面类WelcomeView 29 2.5.2 菜单界面类MenuView 31 2.5.3 设置界面类SetView 34 2.5.4 帮助界面类HelpView 38 2.5.5 关于界面类AboutView 40 2.6 游戏界面相关类 41 2.6.1 操控动作类Action 41 2.6.2 操控动作类型类ActionType 42 2.6.3 顶点数据管理者VertexDataManager 42 2.6.4 纹理图数据管理者PicDataManager 44 2.6.5 游戏界面GameSurfaceView 45 2.6.6 动作队列执行线程DoActionThread 52 2.7 相关工具类 60 2.7.1 模型加载类LoadUtil 60 2.7.2 国际象棋规则类ChessRuleUtil 63 2.7.3 机器自动走棋类RobotAutoUtil 68 2.7.4 包围盒工具类AABB3Util 74 2.7.5 拾取相关计算类IntersectantUtil 75 2.8 游戏的优化与改进 78

第3章 物理引擎3D游戏——疯狂的石头 79 3.1 游戏背景及功能介绍 79 3.1.1 游戏背景概述 79 3.1.2 游戏功能介绍 79 3.2 游戏的策划及准备工作 81 3.2.1 游戏的策划 81 3.2.2 游戏开发前的准备工作 81 3.3 游戏的架构 82 3.3.1 各个类的简要介绍 83 3.3.2 游戏框架简介 85 3.4 主控制类MyActivity 86 3.5 2D界面类 90 3.5.1 欢迎界面类 90 3.5.2 父类界面RootView 92 3.5.3 主菜单界面MainMenuView 92 3.5.4 2D界面绘制类DrawCurrView 96 3.5.5 选关界面 SelectView 97 3.5.6 帮助界面 HelpView 100 3.6 工具类 101 3.6.1 图片工具类PicLoadUtil 101 3.6.2 坐标转换工具类From2DTo3DUtil 102 3.6.3 声音工具类 SoundUtil 103 3.6.4 数据存储工具类SharedPreferencesUtil 104 3.6.5 静态数据工具类Constant 105 3.7 刚体类及刚体纹理类 109 3.7.1 创建刚体的工具类Box2DUtil 110 3.7.2 小球类 Ball 114 3.7.3 平面矩形纹理类TextureRectangular 119 3.7.4 长方体类 Rec 121 3.7.5 齿轮纹理类 ChiLun 125 3.7.6 木桶类 MuTong 126 3.7.7 木桶纹理Texture_MuTong 127 3.8 游戏界面相关类 131 3.8.1 游戏界面 GameView 131 3.8.2 碰撞监听工具类CollisionAction 136 3.8.3 移动控制线程ChangeThread 138 3.9 游戏的优化与改进 139

第4章 蓝牙对战游戏——3D坦克对战 140 4.1 游戏背景及功能概述 140 4.1.1 背景概述 140 4.1.2 功能介绍 141 4.2 游戏的策划及准备工作 143 4.2.1 游戏的策划 143 4.2.2 Android平台下游戏的准备工作 143 4.3 游戏的架构 146 4.3.1 各个类简要介绍 146 4.3.2 游戏框架简介 149 4.4 公共类 150 4.4.1 主控制类MainActivity 150 4.4.2 子弹类BulletTextureByVertex 162 4.4.3 地板类Floor 166 4.4.4 矮墙类LowWall 168 4.5 蓝牙相关类 170 4.5.1 后台服务类MyService 170 4.5.2 显示设备的Activity类MyDeviceListActivity 176 4.6 2D界面相关类 178 4.6.1 主菜单界面类MainView 179 4.6.2 声音控制工具类SoundUtil 183 4.6.3 设置界面类SettingView 184 4.6.4 蓝牙界面类BuleView 188 4.7 游戏界面相关类 191 4.7.1 游戏界面类MySurfaceView 191 4.7.2 点数据处理类BNPoint 209 4.7.3 子弹类Bullet 210 4.7.4 子弹走线程类BulletGoThread 213 4.7.5 执行动作线程类DoActionThread 215 4.8 游戏的优化与改进 219

第5章 竞速类游戏——快乐小球 221 5.1 游戏背景及功能概述 221 5.1.1 游戏背景概述 221 5.1.2 功能介绍 221 5.2 游戏的策划及准备工作 223 5.2.1 游戏的策划 223 5.2.2 Android平台下游戏的开发准备工作 223 5.3 游戏的架构 225 5.3.1 各个类简要介绍 225 5.3.2 游戏框架简介 228 5.4 公共类RadioBallActivity 229 5.5 辅助界面相关类 234 5.5.1 欢迎界面类WelcomeView 235 5.5.2 2D界面的父类MySFView 237 5.5.3 主菜单界面类MenuView 238 5.5.4 音效设置界面类SoundView 240 5.5.5 帮助界面类HelpView 243 5.5.6 历史界面类HistoryView 245 5.6 游戏界面相关类 248 5.6.1 小球类 Ball 248 5.6.2 小球线程类BallThread 251 5.6.3 管道类GuanDao 253 5.6.4 简单赛道类SaiDao 256 5.6.5 赛道类SaiDaoYC 257 5.6.6 玻璃类 BoLi 257 5.6.7 油桶上下面的圆类Circle 259 5.6.8 油桶的侧面类CircleSider 261 5.6.9 油桶类YuanZhu 264 5.6.10 集装箱类Container 265 5.6.11 立方体类LiFangTi 267 5.6.12 纹理矩形类TextureRect 269 5.6.13 物体控制类WuTiForControl 270 5.6.14 地图类 MapData 271 5.6.15 正方形类 Rectangular 272 5.6.16 立方体类 Cube 273 5.6.17 立方体组类 CubeGroup 274 5.6.18 立方体组的线程控制类CubeThread 276 5.6.19 游戏界面类MySurfaceView 277 5.7 游戏的优化与改进 285

第6章 益智类游戏——3D推箱子 286 6.1 游戏背景及功能概述 286 6.1.1 游戏背景概述 286 6.1.2 游戏功能简介 286 6.2 游戏的策划和准备工作 289 6.2.1 游戏的策划 290 6.2.2 游戏开发的准备工作 290 6.3 游戏的架构 293 6.3.1 各个类简要介绍 293 6.3.2 游戏框架简介 296 6.4 主控制类——TXZActivity类的开发 297 6.5 辅助界面相关类 301 6.5.1 欢迎界面类TXZWelcomeView 301 6.5.2 菜单界面类TXZMenuView 304 6.5.3 设置界面类TXZSetView 313 6.5.4 选关界面类TXZSelectView 317 6.5.5 帮助界面类TXZHelpView 322 6.6 游戏界面相关类 326 6.6.1 顶点数据管理者VertexDataManager 326 6.6.2 纹理图数据管理者PicDataManager 331 6.6.3 游戏界面TXZGameSurfaceView 332 6.6.4 动作队列执行线程TXZDoActionThread 344 6.7 相关工具类 347 6.7.1 箱子排序类CompareDis 347 6.7.2 记录关卡工具类SharedPreferencesUtil 348 6.7.3 声音加载类SoundUtil 349 6.8 游戏的优化与改进 350

第7章 物理引擎类游戏——3D抽方块 351 7.1 游戏背景及功能概述 351 7.1.1 游戏背景概述 351 7.1.2 游戏功能介绍 351 7.2 游戏的策划及准备工作 353 7.2.1 游戏的策划 353 7.2.2 Android平台下游戏的准备工作 354 7.3 游戏的架构 356 7.3.1 各个类简要介绍 356 7.3.2 游戏框架简介 358 7.4 主控制类JengaMeActivity 359 7.5 2D界面相关类 361 7.5.1 欢迎界面类SplashScreenView 362 7.5.2 主菜单类MenuView 364 7.5.3 帮助界面HelpView 365 7.5.4 设置界面OptionMenu 367 7.5.5 记录界面RecordView 369 7.5.6 游戏结束界面EndMenu 371 7.5.7 图片资源数据存储转换工具类InPutStreamTobyte 372 7.6 辅助工具类的开发 373 7.6.1 交互工具类IntersectantUtil 373 7.6.2 数据库工具类SQLiteUtil 374 7.6.3 声音工具类SoundUil 376 7.6.4 自定义工具类SYSUtil 379 7.6.5 着色器工具类ShaderUtil 379 7.7 游戏界面相关类 382 7.7.1 木块类MyCube 382 7.7.2 桌面类TexFloor 384 7.7.3 纹理矩形类TextureRect 387 7.7.4 触控点类BNPoint 387 7.7.5 向量类MyVector3f 388 7.7.6 着色器管理类ShaderManager 389 7.7.7 包围盒类AABB3 390 7.7.8 游戏界面类MySurfaceView 396 7.8 该游戏中的着色器 410 7.9 游戏的优化与改进 412

第8章 休闲类游戏——炫动方块 414 8.1 游戏背景及功能概述 414 8.1.1 游戏背景概述 414 8.1.2 游戏功能介绍 414 8.2 游戏的策划及准备工作 416 8.2.1 游戏的策划 416 8.2.2 Android 平台下游戏的准备工作 416 8.3 游戏的架构 419 8.3.1 各个类简要介绍 419 8.3.2 游戏框架简介 423 8.4 公共类HitCubeActivity 424 8.5 辅助界面相关类 427 8.5.1 3D界面的父类MyGLSurfaceView 427 8.5.2 主菜单界面类MenuView 428 8.5.3 选关卡界面类ContView 432 8.5.4 游戏音效设置界面类SoundView 435 8.5.5 游戏失败界面类LoseView 438 8.5.6 按钮六边形类ButtonGraph 440 8.5.7 菜单界面按钮的线程类MenuButtonThread 442 8.5.8 星星类Star 444 8.5.9 星星类线程类StarThread 446 8.6 游戏界面相关类 447 8.6.1 小球运动线程类BallThread 447 8.6.2 砖块类Cube 451 8.6.3 砖块的碰撞检测类CubeHit 452 8.6.4 砖块信息类CubeInfo 455 8.6.5 管道类GuanDao 456 8.6.6 管道线程类GuanDaoThread 460 8.6.7 线条类Line 461 8.6.8 墙壁类Wall 463 8.6.9 墙壁线程类WallThread 466 8.6.10 碰撞反射的工具类ReflectUtil 467 8.6.11 沙漏矩形类TextureRectShaLou 468 8.6.12 沙漏线程类ShaLouThread 469 8.6.13 游戏界面绘制类MySurfaceView 470 8.7 游戏中着色器的开发 483 8.7.1 纹理的着色器 483 8.7.2 按钮的着色器 484 8.7.3 管道的着色器 486 8.7.4 水波纹的着色器 487 8.7.5 沙漏的着色器 488 8.8 游戏的优化与改进 490

第9章 体育竞技类游戏——3D乒乓球锦标赛 491 9.1 游戏背景及功能概述 491 9.1.1 游戏背景概述 491 9.1.2 游戏功能简介 491 9.2 游戏的策划和准备工作 493 9.2.1 游戏的策划 494 9.2.2 游戏开发的准备工作 494 9.3 游戏的架构 495 9.3.1 游戏的总体架构 495 9.3.2 游戏的类架构 496 9.4 公共类 499 9.4.1 主控制类MainActivity 499 9.4.2 声音振动控制类SoundAndShakeUtil 503 9.5 主界面相关类 505 9.5.1 主界面类MainMenuView 505 9.5.2 主界面物体类 514 9.6 游戏界面相关类 515 9.6.1 游戏界面类GameSurfaceView 515 9.6.2 乒乓球类GameBall 526 9.6.3 乒乓球台类GameTable 528 9.6.4 游戏房间类GameRoom 530 9.6.5 飘扬的旗帜类GameFlyFlag 531 9.6.6 球拍控制类GameBatContorl 532 9.7 人工智能与物理引擎相关类 535 9.7.1 物理世界模拟线程BallForContorl 536 9.7.2 人工智能计算辅助类CalculateUtil 548 9.8 录像功能模块相关类 553 9.8.1 录像基本数据类FrameData 553 9.8.2 录像播放线程类PlayVideoThread 554 9.8.3 录像功能辅助工具类VideoUtil 555 9.9 游戏中的着色器 556 9.9.1 普通纹理着色器 556 9.9.2 球台阴影着色器 557 9.9.3 飘扬的旗帜着色器 559 9.10 游戏的优化与改进 560

第10章 体育竞技类游戏——3D极品桌球 561 10.1 游戏背景及功能概述 561 10.1.1 游戏背景概述 561 10.1.2 游戏功能介绍 561 10.2 游戏的策划及准备工作 563 10.2.1 游戏的策划 563 10.2.2 Android平台下游戏的准备工作 564 10.3 游戏的架构 566 10.3.1 各个类简要介绍 566 10.3.2 游戏框架简介 570 10.4 公共类MyActivity 571 10.5 辅助界面相关类 581 10.5.1 欢迎界面类WelcomeView 581 10.5.2 主菜单界面类MainMenuView 583 10.5.3 声音控制界面类SoundControlView 586 10.5.4 帮助界面类HelpView 587 10.5.5 积分榜界面类HighScoreView 591 10.6 游戏界面相关类 594 10.6.1 球类BallDingDian 594 10.6.2 球运动控制类BallKongZhi 599 10.6.3 小地图类MiniMap 606 10.6.4 球走线程类BallGoThread 607 10.6.5 移动摄像机的线程类MoveCameraThread 613 10.6.6 提示消息的线程类RegulationTimeThread 614 10.6.7 虚拟按钮监听线程类ThreadKey 615 10.6.8 墙壁类Qiang 617 10.6.9 进度条的百分比类Percentage 621 10.6.10 圆面类Circle 623 10.6.11 球杆侧面类CueSide 627 10.6.12 游戏界面绘制类MySurfaceView 630 10.7 相关工具类 637 10.7.1 数据库相关类DBUtil 637 10.7.2 图片处理工具类PicLoadUtil 640 10.7.3 倒计时类Timer 641 10.7.4 声音控制类SoundSwitchButton 643 10.8 游戏中着色器的开发 644 10.8.1 纹理着色器 644 10.8.2 阴影着色器 645 10.9 游戏的优化与改进 648

亚马逊链接