第1章Android应用开发基础 1
1.1 Android应用开发基础概述 1
1.1.1 Android应用开发的结构 1
1.1.2 Android应用程序 开发的目的 2
1.2基于Android SDK的IDE开发环境 2
1.2.1 Android IDE开发环境的组成和结构 2
1.2.2 Windows中的Android SDK开发环境安装 3
1.2.3 Linux环境中的Android SDK开发环境安装 10
1.2.4 Android中运行仿真器环境 11
1.2.5 Android中建立工程 13
1.2.6在IDE中使用各种Android工具 20
1.2.7其他Android工具 26
1.3 Android应用程序的结构 27
1.3.1 Android应用程序的代码组成 27
1.3.2 Android应用示例 28
1.3.3应用程序生成运行过程 31
1.4 Android应用开发的方法 33
1.4.1 API参考文档的使用 33
1.4.2 Android应用开发模式 37
第2章UI程序的结构 39
2.1 Android中的界面组成 39
2.1.1屏幕(活动Activity) 40
2.1.2屏幕中的内容(视图View) 41
2.1.3二者的结合 41
2.2屏幕中内容的控制和响应 42
2.2.1基本响应方法 43
2.2.2变化的响应方法 45
2.2.3控件响应方法比较 47
2.3设备事件的响应 48
2.3.1键盘事件的响应 48
2.3.2运动事件的处理 51
2.4屏幕切换 56
2.4.1启动活动的方法 57
2.4.2带有返回结果的启动活动 58
2.5菜单、对话框和标题栏 61
2.5.1菜单的使用 61
2.5.2对话框的使用 65
2.5.3标题栏的使用 73
2.6样式和主题的使用 74
2.6.1控件中的样式 75
2.6.2全局性质的主题 75
第3章 控件和布局 81
3.1控件 81
3.1.1 Android中的控件 81
3.1.2文本类控件 84
3.1.3图像类控件 88
3.1.4进度条类控件 91
3.1.5继承View实现自定义控件 96
3.1.6继承控件实现自定义控件 101
3.2视图组和屏幕的布局 104
3.2.1 Android中的视图组 104
3.2.2独立使用的视图组 108
3.2.3作为简单容器使用的视图组 113
3.2.4几种布局类的使用 116
3.2.5自适应视图AdapterView 131
3.2.6 Tab的使用 147
第4章 图形接口 158
4.1 2D图形接口的使用 158
4.1.1使用2D图形接口的程序结构 158
4.1.2画布和画笔结合的基本绘制 159
4.1.3路径(Path) 164
4.1.4文本(Text) 166
4.1.5位图(Bitmap ) 171
4.1.6颜色效果 174
4.1.7画布状态和区域操作 177
4.1.8记录 182
4.2 OpenGL 3D图形接口的使用 184
4.2.1使用OpenGL图形接口的程序结构 184
4.2.2单纯实现的渲染器动画 185
4.2.3具有交互的OpenGL绘制程序 189
4.2.4背景和透明效果 192
4.2.5另一种OpenGL的接口方式 196
4.3可绘制内容 198
4.3.1可绘制内容的概念 198
4.3.2使用XML文件表示基本的可绘制内容 199
4.3.3使用XML文件表示扩展的可绘制内容 202
4.3.4使用代码构建的可绘制内容 207
4.4动画 210
4.4.1动画的概念和分类 210
4.4.2补间动画 210
4.4.3帧动画 215
4.4.4屏幕切换的动画 216
第5章非UI组件和结构 219
5.1服务 219
5.1.1服务综述 219
5.1.2本地服务的调用者 222
5.1.3远程服务的使用 228
5.1.4服务的应用场景 236
5.2广播接收器 238
5.2.1广播接收器综述 238
5.2.2不同形态的广播接收器 239
5.2.3结合PendingIntent使用广播接收器 241
5.3内容提供者 244
5.3.1内容提供者综述 244
5.3.2简单内容提供者的实现 248
5.3.3 URI的处理 251
5.3.4内容提供者的打开文件功能 252
5.4工程描述文件、资源和资产 255
5.4.1 Android中的工程描述文件 255
5.4.2 Android中的资源 259
5.4.3 Android中的资产 265
第6章Android应用开发的细节 268
6.1 Android API层次结构 268
6.1.1 Android API层次结构 268
6.1.2 Android的API级别 268
6.1.3 Android的各个基本的核心包 270
6.1.4 Android 1.5增加的内容 274
6.1.5 Android 1.6增加的内容 275
6.1.6 Android 2.0-2.1增加的内容 276
6.1.7 Android 2.2增加的内容 277
6.1.8 Android 2.3.x增加的内容 278
6.2安全性和权限 280
6.2.1进程的用户id级别的权限 280
6.2.2许可 281
6.3数据存储 283
6.3.1 Android数据存储的方式 283
6.3.2文件和网络 284
6.3.3数据库的使用 285
6.3.4参数选项的使用 292
6.4硬件相关的程序 300
6.4.1硬件相关的类 301
6.4.2硬件相关的特性 301
6.4.3电源管理器 303
6.4.4警报器的使用 304
6.4.5音频系统的使用 304
6.4.6定位系统的使用 305
6.4.7电话系统的使用 307
6.4.8传感器的使用 310
6.4.9振动器的使用 312
6.4.10无线局域网的使用 313
6.4.11蓝牙的使用 314
6.4.12照相机的使用 316
6.4.13电池和电源信息的获取 318
6.5用户通知方法 318
6.5.1 Toast通知 318
6.5.2 Status Bar通知 321
第7章Android应用的设计思想 325
7.1程序的组件模式 325
7.2系统的脉络:Intent 327
7.2.1 Intent的作用 327
7.2.2代码中Intent的使用 328
7.3远程调用:Binder和AIDL 332
7.3.1应用层IPC的实现方式 332
7.3.2 AIDL文件的使用 333
7.4进程、线程和任务 334
7.4.1进程 335
7.4.2线程 337
7.4.3 Android中的任务 342
7.5 UI设计 348
7.5.1布局的组合 348
7.5.2组合型控件 352
7.5.3布局的动态使用 355
7.5.4不同屏幕的适应性 357
7.6 Android的应用程序设计实现理念 359
7.6.1 Android程序的设计和实现的通用方法 359
7.6.2 Android程序的要点 361
7.6.3 Android中几种典型的程序结构 363
第8章Android应用程序层插件 366
8.1 Android应用层插件的功能与作用 366
8.1.1应用层插件的特点 366
8.1.2应用层插件的结构 367
8.1.3主要应用层插件 368
8.2快捷方式(Shortcut) 368
8.2.1 Shortcut的概念和用途 368
8.2.2 Shortcut的程序组成 369
8.2.3 Shortcut的实现 370
8.3活动目录(LiveFolder) 372
8.3.1 LiveFolder的概念和用途 372
8.3.2 LiveFolder的程序组成 373
8.3.3 LiveFolder的实现 374
8.4应用小部件(App Widget) 377
8.4.1 App Widget的概念和用途 377
8.4.2 App Widget程序的组成 378
8.4.3 App Widget的实现 380
8.5输入法(InputMethod ) 383
8.5.1 InputMethod的概念和用途 383
8.5.2 InputMethod的程序组成 384
8.5.3 InputMethod的实现 388
8.6活动墙纸(Live Wallpaper) 393
8.6.1 Live Wallpaper的概念和用途 393
8.6.2 Live Wallpaper的程序组成 393
8.6.3 Live Wallpaper的实现 395
8.7可搜索程序(Searchable) 397
8.7.1 Searchable的概念和用途 397
8.7.2 Searchable的程序组成 399
8.7.3 Searchable的实现 400
8.8账户和同步(Account和Sync) 405
8.8.1 Account和Sync的概念和用途 405
8.8.2 Account和Sync的程序组成 405
8.8.3 Account和Sync的实现 408
8.9语音识别器 (SpeechRecognizer) 412
8.9.1 SpeechRecognizer的概念和用途 412
8.9.2 SpeechRecognizer的程序组成 413
8.9.3语音识别器实现 414