第1章 Android概述 1
1.1 Android基本特点 1
全面 1
开源平台 2
专为移动设备设计 2
1.2 历史 3
谷歌的动机 3
Android的兼容性 4
开放手机联盟 4
1.3 Android的版本 5
1.4 Android的风格 7
Android开源项目 7
制造商的加载项 7
1.5 总结 8
第2章 Java综述 9
2.1 注释 12
2.2 数据类型:基本数据类型和对象 13
2.3 修饰符 14
2.4 数组 15
2.5 运算符 16
2.6 控制流语句 16
2.7 错误/异常处理 19
2.8 复杂的示例 22
2.9 接口和继承 26
2.1 0集合 27
2.1 1泛型 28
2.1 2线程 28
2.1 3总结 29
第3章 Android套件 31
3.1 套件概述 31
3.2 Linux 31
Android不等于Linux 33
3.3 本地层 33
HAL 34
本地库 34
本地守护进程 35
本地工具 36
3.4 Dalvik 36
Android和Java 37
3.5 应用程序框架 39
3.6 应用程序 40
Android应用程序包(APK) 40
应用程序签名 41
应用程序分发 41
3.7 总结 42
第4章 安装和开始使用Android工具 43
4.1 安装Java开发工具包 43
4.2 安装Android SDK 45
为工具设置PATH环境变量 45
安装Eclipse 46
Eclipse工作区 46
设置Android开发工具 46
4.3 Hello World! 48
创建新项目 48
4.4 剖析一个Android项目 51
Android的清单文件 51
字符串资源 54
布局XML代码 55
4.5 可绘制资源 56
R文件 56
Java源代码 57
4.6 构建项目 58
4.7 Android仿真器 59
仿真器与真实手机对比 59
4.8 总结 62
第5章 主要构件 63
5.1 一个实际的例子 63
5.2 活动 64
活动的生命周期 64
5.3 意图 68
5.4 服务 69
5.5 内容提供器 70
5.6 广播接收器 72
5.7 应用程序上下文 72
5.8 总结 74
第6章 Yamba项目概况 75
6.1 Yamba应用程序 75
6.2 设计理念 79
6.3 项目设计 80
6.4 第1部分:Android用户界面 81
6.5 第2部分:意图、活动条及其他 82
6.6 第3部分:Android服务 82
6.7 第4部分:内容提供器 83
6.8 第5部分:列表和适配器 83
6.9 第6部分:广播接收器 84
6.1 0第7部分:应用程序控件 84
6.1 1第8部分:联网和Web(HTTP) 85
6.1 2第9部分:动态壁纸和处理程序 85
6.1 3总结 85
第7章 Android的用户界面 87
7.1 创建用户界面的两种方法 87
声明式用户界面 87
编程式用户界面 88
各取所长 88
7.2 视图和布局 88
LinearLayout(线性布局) 89
TableLayout(表格布局) 90
FrameLayout(帧布局) 91
RelativeLayout(相对布局) 92
7.3 启动Yamba项目 93
7.4 StatusActivity布局 97
重要的控件属性 101
字符串资源 103
7.5 StatusActivity Java类 104
释放XML到Java 104
初始化对象 106
处理用户事件 107
7.6 在Android中记录消息日志 108
LogCat 108
编译代码并构建项目:保存文件 109
添加Twitter API库 112
更新清单文件以获取Internet权限 113
7.7 Android中的线程机制 114
单线程 114
多线程的执行 115
AsyncTask(异步任务) 116
7.8 其他U1事件 119
7.9 备用资源 124
7.1 0总结 127
第8章 片段 129
8.1 片段示例 129
8.2 片段的生命周期 136
8.3 动态添加片段 137
8.4 总结 139
第9章 意图、活动条及其他 141
9.1 首选项 141
首选项资源 142
SettingsActivity 145
更新清单文件 147
9.2 活动条 148
创建一个空白主活动 149
菜单资源 150
Android的系统资源 152
加载菜单 153
更新StatusActivity来处理菜单事件 154
9.3 共享首选项及更新消息片段 155
9.4 文件系统简介 157
访问文件系统 158
文件系统分区 158
系统分区 158
SD卡分区 158
用户数据分区 160
文件系统安全 161
9.5 总结 161
第10章 服务 163
10.1 示例服务:RefreshService 164
创建RefreshServiceJava类 164
介绍IntentService 166
更新清单文件 167
添加菜单项 168
更新选项菜单处理 168
测试服务 169
10.2 从Yamba提取数据 169
测试服务 172
10.3 总结 172
第11章 内容提供器 175
11.1 Android上的数据库 175
关于SQLite 176
DbHelper 176
数据库模式及其创建 177
四个主要操作 177
游标 178
11.2 消息合同类 179
11.3 更新RefreshService 181
测试服务 184
11.4 内容提供器 186
11.5 创建一个内容提供器 187
定义URI 187
获取数据类型 189
插入数据 191
更新数据 192
删除数据 193
查询数据 194
更新Android清单文件 199
更新RefreshService 200
11.6 总结 201
第12章 列表和适配器 203
12.1 主活动 203
12.2 基本的主活动 203
12.3 时间表片段 205
创建列表项布局 206
12.4 关于适配器 207
12.5 加载数据 208
12.6 通过ViewBinder定制逻辑 211
12.7 详情视图 213
详情片段 214
详情活动 216
注册到清单文件 217
主活动,横向视图 217
更新时间表片段 218
12.8 总结 221
第13章 广播接收器 223
13.1 关于广播接收器 223
13.2 开机接收器 224
将BootReceiver注册到Android清单文件 224
测试开机接收器 225
13.3 警报和系统服务 225
13.4 广播意图 227
通知接收器 230
13.5 总结 231
第14章 应用程序控件 233
14.1 通过控件使用内容提供器 233
实现YambaWidget类 234
创建XML布局 236
创建AppWidgetProviderInfo文件 238
更新清单文件 238
测试控件 239
14.2 总结 239
第15章 联网和Web概述 241
15.1 简单的例子 241
15.2 联网基础 242
15.3 HTTP API 244
15.4 Apache HTTP客户端 245
15.5 HttpUrlConnection 248
15.6 使用AsyncTask和 AsyncTaskLoader在后台联网 251
15.7 总结 251
第16章 互动与动画:动态壁纸和处理程序 253
16.1 动态壁纸 253
16.2 处理程序 260
16.3 总结 262
索引 263