第1章Android架构 1
本章问题 1
1.1 Android系统框架 1
1.2 Android开发的分类 4
1.3 Android应用程序开发环境的建立 5
本章问题答案 7
第2章Android应用程序的组成 8
本章问题 8
2.1建立一个模拟器 8
2.2 Hello Android程序 10
2.3 Android程序基础 12
2.4源文件 15
2.5资源文件 15
2.6自动生成的文件 16
2.7 AndroidMainfest.xml文件 17
本章问题答案 18
第3章Java语法在Android中的使用 20
本章问题 20
3.1 interface的使用 20
3.2 abstract class的使用 22
3.3 interface与abstract class的区别 22
3.4 for循环的使用 24
3.5 Map类的使用 25
3.6 int与String之间的转换 26
3.7 synchronized同步关键字 27
3.8 new的使用 29
3.9字节流与字符串之间的编码转换 30
3.10系统时间与设备时间 31
本章问题答案 31
第4章 图形用户接口 33
本章问题 33
4.1布局 33
4.1.l使用xml创建一个布局 34
4.1.2视图的大小与位置 41
4.1.3动态创建View和ViewGroup 47
4.1.4常用ViewGroup(layout) 53
4.1.5网页视图 60
4.2添加用户事件响应 62
4.2.1用户消息派发流程 62
4.2.2添加回调函数 64
4.3菜单 66
4.3.1菜单概况 66
4.3.2创建Option Menu 67
4.3.3创建Context Menu 71
4.3.4子菜单 76
4.3.5单选与复选菜单 77
4.3.6在xml文件中描述菜单 78
4.4对话框 80
4.4.1对话框概况 80
4.4.2提示对话框 81
4.4.3进度对话框 83
4.4.4日期、时间对话框 85
4.4.5自定义对话框 86
4.5绑定视图和数据 89
4.5.1 Adapter与Adapter View 89
4.5.2下拉列表框 91
4.5.3带自动完成的下拉列表框 94
4.5.4格子视图 95
4.5.5 Gallery 100
4.5.6标签页 103
4.5.7列表视图 106
4.6自定义View 111
4.6.1 View的工作原理 112
4.6.2编写View类 113
4.6.3为View类增加属性 115
4.6.4绘制屏幕 119
4.6.5响应用户消息 134
4.6.6自定义回调函数 136
本章问题答案 139
第5章Intent与Intent Filter 141
本章问题 141
5.1概况 142
5.2 Intent数据结构 143
5.3响应Intent——Intent过滤器 145
5.3.1 Action测试 146
5.3.2 Category测试 148
5.3.3 Data测试 149
本章问题答案 151
第6章 使用Activity 152
本章问题 152
6.1Activity概况 152
6.2启动Activity 155
6.2.1直接启动Activity 155
6.2.2通过菜单启动Activity 156
6.3使用小工具 157
6.3.1 Widget原理 158
6.3.2创建Widget 159
6.3.3在Widget中启动Activity 161
6.3.4使用Widget进行信息提醒 162
6.4使用 Notification 164
6.4.1创建Notification 164
6.4.2在通知栏中启动Activity 167
6.5保存活动状态 168
6.6 Activity之间的数据传送 169
6.7重新定义Back键——Activity与Task 172
本章问题答案 174
第7章 使用Service 176
本章问题 176
7.1创建Service 176
7.2在Activity中启动Service 179
7.3使用Widget启动Service 180
本章问题答案 183
第8章 使用Broadcast Receiver 185
本章问题 185
8.1 Receiver概况 185
8.2静态创建Receiver 187
8.3动态创建Receiver 188
本章问题答案 190
第9章 使用Content Provider 192
本章问题 192
9.1 Provider基础 193
9.2读取Provider 194
9.3修改Provider 197
9.3.1添加数据项 197
9.3.2更改数据项 201
9.3.3删除数据项 203
9.4创建Provider 203
9.4.1 Provider接口函数定义 204
9.4.2实现一个Provider 204
9.4.3使用自定义Provider 206
9.4.4调试自定义Provider 208
9.5 Provider中Uri格式总结 209
本章问题答案 209
第10章 资源文件 211
本章问题 211
10.1资源文件概述 211
10.2资源类型 212
10.2.1简单数值类资源 212
10.2.2“可绘制”类资源 214
10.2.3动画 216
10.2.4菜单 216
10.2.5布局 216
10.2.6自定义视图 217
10.2.7元数据文件资源 218
10.2.8样式 218
10.2.9主题 219
10.3 assets管理器 220
10.4国际化 222
本章问题答案 224
第11章Android本地存储系统 225
本章问题 225
11.1 Android内部文件夹结构 225
11.1.1系统文件夹 226
11.1.2文件访问权限 227
11.1.3文件路径 228
11.1.4程序私有文件 228
11.2文件存储 229
11.2.1遍历文件夹 229
11.2.2读/写文件 230
11.3数据库存储 232
11.4程序参数存储 236
11.4.1写入参数值 237
11.4.2读取参数值 237
本章问题答案 239
第12章 多线程设计 240
本章问题 240
12.1多线程引述 241
12.2线程定义 243
12.2.1 Thread 243
12.2.2 Runnable 246
12.2.3 Thread与Service 248
12.3使用Handler 249
12.3.1完成定时任务 249
12.3.2在线程之间传递数据 252
12.4使用Looper 255
12.5使用HandlerThread 259
12.6线程间的同步 259
12.6.1 wait()/notify()的使用 259
12.6.2 join()的使用 262
本章问题答案 266
第13章 系统安全 267
本章问题 267
13.1系统安全概述 267
13.2程序签名 268
13.2.1创建签名 269
13.2.2执行签名 270
13.3安全调用 270
13.3.1系统功能调用 271
13.3.2启动Activity 272
13.3.3 Broadcast Receiver发送与接收 274
13.3.4读/写Content Provider 274
13.3.5启动Service 274
本章问题答案 275
第14章AndroidManifest.xml 276
本章问题 276
14.1文件结构 277
14.2元素定义规范 283
14.2.1声明元素 283
14.2.2指定元素属性 284
14.2.3指定类名称 284
14.2.4多值定义 284
14.2.5资源引用 285
14.2.6字符串值 285
14.2.7图标与标签 285
本章问题答案 286
第15章 多媒体与网络开发基础 287
本章问题 287
15.1媒体播放 287
15.1.1媒体播放原理 287
15.1.2播放音乐 289
15.1.3播放视频 291
15.1.4录音 295
15.2 Surface的使用 297
15.2.1 Surface原理 298
15.2.2游戏开发 299
15.2.3游戏中的多线程 301
15.3网络服务开发 304
15.3.1网络服务概况 304
15.3.2 Socket编程 304
15.3.3 Http编程 307
15.4通信开发 309
15.4.1发送短信 309
15.4.2接收短信 313
本章问题答案 315
第16章Android常用调试工具的使用 316
本章问题 316
16.1调试环境组成 316
16.2安装设备驱动 318
16.3 Emulator 320
16.4 ddms 321
16.5 adb 321
16.6 Logcat 321
16.7 draw9patch 322
16.8为工程添加jar包 324
本章问题答案 327
附录A光盘文件结构 329
附录B相关资源信息 330
B.1获取应用程序源码 330
B.2获取Android内核源码 331
附录C综合例程 333
C.1生日与性格 333
C.2俄罗斯方块 333
C.3星际飞船 334
参考文献 336