第1章 Android概述 1
1.1 Android简史 1
1.2 Android系统 3
1.2.1 Android系统架构 3
1.2.2 Android应用程序组件 4
1.3 搭建Android开发环境 5
1.3.1 下载并安装JDK 5
1.3.2 下载并安装Android Studio 7
1.3.3 Android SDK Manager 9
1.3.4 Android模拟器 12
1.4 第一个Android应用程序 16
1.4.1 第一个Android项目 16
1.4.2 Android程序结构 21
本章总结 23
本章练习 23
第2章 Activity和Application 25
2.1 Activity 25
2.1.1 Activity简介 25
2.1.2 创建Activity 26
2.1.3 Activity的生命周期 28
2.1.4 LogCat调试 32
2.2 AndroidManifest.xml清单文件 35
2.3 Android应用程序生命周期 38
2.4 Application类 39
2.4.1 Application生命周期事件 40
2.4.2 实现Application 40
本章总结 43
本章练习 43
第3章 UI编程基础 45
3.1 Android UI元素 45
3.1.1 视图 46
3.1.2 视图容器 46
3.1.3 布局管理 49
3.1.4 Fragment 50
3.2 界面布局 50
3.2.1 线性布局 51
3.2.2 表格布局 54
3.2.3 相对布局 58
3.2.4 绝对布局 62
3.3 事件处理 64
3.3.1 基于监听的事件处理 64
3.3.2 基于回调机制的事件处理 70
3.4 Widget简单组件 80
3.4.1 Widget组件通用属性 80
3.4.2 TextView文本框 80
3.4.3 EditText编辑框 84
3.4.4 Button按钮 86
3.4.5 RadioButton单选按钮和RadioGroup单选按钮组 89
3.4.6 CheckBox复选框 95
3.4.7 开关控件 98
3.4.8 图片视图 104
3.5 Dialog对话框 109
3.5.1 AlertDialog提示对话框 109
3.5.2 ProgressDialog进度对话框 114
本章总结 117
本章练习 118
第4章 资源管理 119
4.1 资源管理 119
4.1.1 资源分类 119
4.1.2 资源访问方式 121
4.1.3 strings.xml文本资源文件 124
4.1.4 colors.xml颜色设置资源文件 126
4.1.5 dimens.xml尺寸定义资源文件 129
4.1.6 styles.xml主题风格资源文件 132
4.1.7 drawable图像资源目录 135
4.2 样式和主题 137
4.2.1 在AndroidManifest.xml中设置主题 139
4.2.2 在程序中设置主题 139
本章总结 140
本章练习 140
第5章 UI进阶 141
5.1 Fragment 141
5.1.1 使用Fragment 142
5.1.2 Fragment的生命周期 150
5.2 Menu和Toolbar 160
5.2.1 Menu菜单 160
5.2.2 Toolbar操作栏 173
5.3 高级组件 178
5.3.1 AdapterView与Adapter 178
5.3.2 ListView列表视图 180
5.3.3 GridView网格视图 189
5.3.4 TabHost 192
本章总结 198
本章练习 199
第6章 Intent与BroadcastReceiver 200
6.1 Intent意图 200
6.1.1 Intent原理及分类 200
6.1.2 Intent属性 202
6.1.3 使用Intent启动Activity 211
6.1.4 Intent Filter过滤器 224
6.2 BroadcastReceiver 225
6.3 Handler消息传递机制 229
6.3.1 Handler简介 229
6.3.2 Handler的工作机制 232
6.4 AsyncTask类 233
本章总结 237
本章练习 237
第7章 ContentProvider数据共享 239
7.1 ContentProvider简介 239
7.1.1 ContentProvider类 239
7.1.2 ContentResolver类 241
7.2 开发ContentProvider程序 243
7.2.1 编写ContentProvider子类 243
7.2.2 注册ContentProvider 244
7.2.3 使用ContentProvider 244
7.3 操作系统的ContentProvider 247
7.3.1 管理联系人 248
7.3.2 管理多媒体 254
本章总结 261
本章练习 261
第8章 Service服务 263
8.1 Service简介 263
8.1.1 Service分类 264
8.1.2 Service基本示例 264
8.2 Service详解 266
8.2.1 Start方式启动Service 267
8.2.2 Bind方式启动Service 273
8.2.3 混合方式的Service 279
8.2.4 前台Service 283
8.2.5 在Service中执行耗时任务 289
8.2.6 远程Service 295
8.3 系统自带Service 302
8.3.1 NotificationManager 303
8.3.2 DownloadManager 305
本章总结 306
本章练习 307
第9章 数据存储 309
9.1 数据存储简介 309
9.2 文件存储 310
9.2.1 I/O流操作文件 310
9.2.2 读写SD卡文件 314
9.2.3 文件浏览器 318
9.3 使用SharedPreferences 322
9.3.1 SharedPreferences和SharedPreferences.Editor接口 322
9.3.2 SharedPreferences操作步骤 323
9.4 SQLite数据库 325
9.4.1 SQLite简介 326
9.4.2 SQLiteDatabase类 326
9.4.3 SQLite数据库的创建和删除 327
9.4.4 表的创建和删除 328
9.4.5 记录的插入、修改和删除 328
9.4.6 数据查询与Cursor接口 331
9.4.7 事务处理 332
9.4.8 SQLiteOpenHelper类 333
9.4.9 使用ListView滑动分页 338
本章总结 343
本章练习 343
第10章 网络编程 344
10.1 网络编程简介 344
10.2 基于TCP协议的网络通信 344
10.2.1 Socket 346
10.2.2 ServerSocket 346
10.3 使用HttpURLConnection 351
10.3.1 URL和URLConnection 351
10.3.2 HttpURLConnection 357
10.4 使用WebView组件 363
本章总结 367
本章练习 368
附录A Android应用程序签名 369
A.1 DOS命令完成APK签名 369
A.2 在Android Studio中完成APK签名 370
附录B 常用的Android Studio选项设置 373
B.1 Android Studio基本配置 373
B.2 Android Studio快捷键 376
B.3 Android Studio导入Eclipse ADT项目 376
B.3.1 步骤 376
B.3.2 常见问题 378