理论篇 3
第1章 Android概述 3
1.1 移动设备开发平台 4
1.1.1 移动信息设备系统 4
1.1.2 开放手机联盟 5
1.2 Android简介 7
1.2.1 Android的历史 7
1.2.2 Android的优缺点 9
1.2.3 Android平台的技术架构 10
1.3 Android应用程序构成 11
1.3.1 活动(Activity) 12
1.3.2 广播接收者(BroadcastReceiver) 12
1.3.3 服务(Service) 12
1.3.4 内容提供者(ContentProvider) 13
1.4 第一个Android应用 13
1.4.1 创建一个新的Android项目 13
1.4.2 运行Android应用程序 19
本章小结 20
本章练习 20
第2章 活动(Activity) 21
2.1 Activity简介 22
2.1.1 Activity生命周期 22
2.1.2 Activity创建和注册 28
2.1.3 Activity启动模式 29
2.1.4 Activity跳转方式 31
2.2 Android中的资源使用 37
2.2.1 字符串资源 39
2.2.2 图片资源 41
本章小结 42
本章练习 42
第3章 用户界面 43
3.1 用户界面元素分类 44
3.1.1 视图组件(View) 44
3.1.2 视图容器(ViewGroup) 44
3.1.3 布局管理(Layout) 45
3.2 事件处理机制 46
3.3 布局管理(Layout) 52
3.3.1 线性布局(LinearLayout) 53
3.3.2 相对布局(RelativeLayout) 56
3.3.3 表格布局(TableLayout) 58
3.3.4 绝对布局(AbsoluteLayout) 61
3.3.5 框架布局(FrameLayout) 62
3.3.6 网格布局(GridLayout) 63
3.4 提示信息(Toast)和对话框 64
3.4.1 提示信息(Toast) 65
3.4.2 对话框 66
3.5 常用Widget组件 76
3.5.1 Widget组件通用属性 76
3.5.2 文本框(TextView) 76
3.5.3 按钮(Button) 77
3.5.4 编辑框(EditText) 78
3.5.5 复选框(CheckBox) 78
3.5.6 单选按钮组(RadioGroup) 79
3.5.7 下拉列表(Spinner) 79
3.5.8 图片视图(ImageView) 86
3.5.9 滚动视图(ScrollView) 87
3.5.10 网格视图(GridView) 92
3.5.11 列表视图(ListView) 96
3.5.12 滑动视图(RecyclerView) 100
3.6 菜单 105
3.6.1 选项菜单(OptionMenu) 105
3.6.2 上下文菜单(ContextMenu) 107
3.6.3 弹出式菜单(PopupMenu) 110
3.7 ActionBar 114
3.7.1 显示与隐藏ActionBar 114
3.7.2 修改图标和标题 115
3.7.3 添加Action按钮 116
3.7.4 添加导航按钮 118
3.7.5 添加ActionView 118
3.8 适配器(Adapter) 119
3.8.1 数组适配器(ArrayAdapter) 120
3.8.2 简单适配器(SimpleAdapter) 122
3.8.3 简单游标适配器(SimpleCursorAdapter) 123
3.8.4 自定义适配器(BaseAdapter) 125
本章小结 127
本章练习 128
第4章 意图(Intent) 129
4.1 Intent概述 130
4.1.1 Intent组成属性 130
4.1.2 使用Intent启动组件 137
4.2 Intent数据传递 142
4.2.1 Intent传值 143
4.2.2 Bundle传值 146
4.3 设置Activity权限 149
本章小结 152
本章练习 152
第5章 广播(Broadcast) 153
5.1 Broadcast简介 154
5.1.1 Broadcast三要素 154
5.1.2 Broadcast生命周期 154
5.1.3 Broadcast分类 154
5.2 BroadcastReceiver 155
5.2.1 BroadcastReceiver注册 155
5.2.2 BroadcastReceiver优先级 161
本章小结 162
本章练习 162
第6章 服务(Service) 163
6.1 Service简介 164
6.2 Service特点 164
6.3 实现Service 165
6.3.1 创建Service类 165
6.3.2 启动Service 166
6.3.3 停止Service 169
6.3.4 Service示例 169
6.4 Android系统服务 175
本章小结 181
本章练习 182
第7章 数据存储 183
7.1 数据存储简介 184
7.2 SharedPreference存储方式 184
7.2.1 访问SharedPreference的API 184
7.2.2 SharedPreference应用 186
7.3 File存储方式 191
7.3.1 File操作 192
7.3.2 File应用 192
7.4 SQLite存储方式 197
7.4.1 SQLite简介 197
7.4.2 SQLite数据库操作 197
7.4.3 SQLiteOpenHelper 202
7.5 数据共享ContentProvider 208
7.5.1 ContentProvider 208
7.5.2 ContentResolver 209
7.5.3 ContentProvider应用 211
本章小结 213
本章练习 214
第8章 片段(Fragment) 215
8.1 Fragment简介 216
8.1.1 Fragment的作用 216
8.1.2 Fragment的特点 217
8.1.3 Fragment生命周期 217
8.2 创建Fragment 222
8.2.1 静态创建 222
8.2.2 动态创建 224
本章小结 230
本章练习 230
第9章 网络通信 231
9.1 网络通信简介 232
9.2 Socket通信 232
9.2.1 Socket和ServerSocket 232
9.2.2 Socket应用 234
9.3 HTTP网络编程 241
9.3.1 HttpURLConnection 241
9.3.2 HttpClient 246
9.4 WebKit 248
9.4.1 WebKit介绍 249
9.4.2 WebView视图组件 250
9.5 JSON数据 252
9.5.1 原生解析 253
9.5.2 GSON解析 258
9.6 异步任务AsyncTask 260
本章小结 265
本章练习 266
第10章 消息处理机制 267
10.1 消息处理机制简介 268
10.1.1 子线程开启方式 268
10.1.2 消息处理机制示例 269
10.2 消息处理机制详解 273
10.2.1 Message 273
10.2.2 MessageQueue 274
10.2.3 Looper 274
10.2.4 Handler 278
本章小结 285
本章练习 285
第11章 Android特色开发 287
11.1 传感器 288
11.1.1 传感器简介 288
11.1.2 传感器应用 290
11.2 地图与定位 292
11.2.1 百度地图SDK介绍 292
11.2.2 使用百度地图SDK开发定位功能 292
11.3 ActionBar扩展功能 298
本章小结 301
本章练习 302
实践篇 305
实践1 Android概述 305
实践指导 305
实践1.1 开发环境搭建 305
实践1.2 创建AVD(Android模拟器) 309
实践1.3 DDMS 311
知识拓展 312
拓展练习 313
实践2 活动(Activity) 314
实践指导 314
实践2.1 点餐系统功能结构分析 314
实践2.2 创建点餐系统项目 315
实践2.3 创建点餐系统实体类 316
知识拓展 318
拓展练习 323
实践3 用户界面 324
实践指导 324
实践3.1 创建登录界面 324
实践3.2 创建主菜单界面 330
知识拓展 334
拓展练习 351
实践4 意图(Intent) 353
实践指导 353
实践4.1 完善登录功能 353
实践4.2 点餐功能 355
实践4.3 结账功能 372
知识拓展 383
拓展练习 384
实践5 广播(Broadcast) 385
实践指导 385
实践 完善点餐功能 385
知识拓展 388
拓展练习 391
实践6 服务(Service) 392
实践指导 392
实践 更新数据功能 392
知识拓展 397
拓展练习 402
实践7 数据存储 403
实践指导 403
实践7.1 创建数据库 403
实践7.2 数据更新功能 405
实践7.3 操作数据库 408
实践7.4 点餐系统的配置功能 412
知识拓展 418
拓展练习 426
实践8 片段(Fragment) 427
实践指导 427
实践 查桌功能 427
知识拓展 431
拓展练习 436
实践9 网络通信 437
实践指导 437
实践9.1 服务器端程序 437
实践9.2 与服务器通信 459
实践9.3 登录验证 462
实践9.4 更新数据 468
实践9.5 查桌功能 470
实践9.6 下单功能 477
实践9.7 结账功能 482
知识拓展 485
拓展练习 486
实践10 第三方框架 487
实践指导 487
实践10.1 ButterKnife 487
实践10.2 Picasso 498
实践10.3 XUils 502
拓展练习 529
附录 Widget列表 530