第1章 概述 /1 1.1 搭建环境 1 1.1.1 安装Android Studio 1 1.1.2 安装SDK 2 1.2 创建第一个Android程序 3 1.2.1 使用Android Studio创建一个Android工程 3 1.2.2 在模拟器上运行 6 1.2.3 在手机上运行 8 1.3 如何导入本书案例库 8 1.4 Android应用程序的构成 10 1.5 Android四大组件 13 1.5.1 活动 13 1.5.2 服务 14 1.5.3 内容提供者 14 1.5.4 广播接收者 15 1.6 养成良好的学习习惯 15 本章小结 16 第2章 活动 /17 2.1 Activity概述 17 2.1.1 Activity是什么 17 2.1.2 Activity生命周期 19 2.1.3 Activity生命周期的示例 22 2.2 一个Android工程的整体结构 24 2.2.1 Android程序中各种文件夹及文件 25 2.2.2 res文件夹 28 2.2.3 AndroidManifest.xml文件 32 2.3 最简单的图书管理系统 33 第3章 用户界面 /37 3.1 用户界面基础知识 37 3.2 界面基本组件 38 3.2.1 界面基本属性 38 3.2.2 TextView 38 3.2.3 EditText 40 3.2.4 Button 42 3.2.5 复选框(CheckBox) 44 3.2.6 单选按钮 45 3.2.7 Listview 47 3.3 布局 48 3.3.1 FrameLayout(帧布局) 48 3.3.2 LinearLayout(线性布局) 50 3.3.3 RelativeLayout(相对布局) 52 3.3.4 TableLayout(表格布局) 54 3.3.5 AbsoluteLayout(绝对布局) 55 3.3.6 多种布局混合使用 56 3.4 菜单 58 3.4.1 选项菜单 58 3.4.2 上下文菜单 59 3.4.3 子菜单 61 3.4.4 定义XML菜单文件 63 3.5 事件响应 65 3.5.1 基本事件 65 3.5.2 事件的响应 66 3.6 界面切换与数据传递 68 3.6.1 Intent与Bundle 68 3.6.2 界面切换 70 3.6.3 传递数据 71 3.7 Activity界面刷新 75 3.8 Activity栈及4种启动模式 75 3.8.1 Activity栈概述 75 3.8.2 Activity启动模式定义方法 76 3.8.3 standard启动模式 77 3.8.4 singleTop启动模式 79 3.8.5 singleTask启动模式 80 3.9 有多个界面的单机版图书管理系统 83 第4章 数据存储 /108 4.1 Preference存储方式 108 4.1.1 SharedPreferences 109 4.1.2 PreferenceActivity 110 4.1.3 XML解析 114 4.2 文件的存储 117 4.2.1 内部存储 117 4.2.2 外部存储 118 4.3 SQLite数据库 119 4.3.1 SQLite简介 119 4.3.2 SQLite数据库基本数据操作 122 4.3.3 SQLiteOpenHelper类 124 4.3.4 数据库文件存储位置(SD卡/手机内存) 126 4.4 数据共享ContentProvider 127 4.4.1 Android系统自带的ContentProvider 127 4.4.2 自定义ContentProvider 128 4.5 一个有本地数据库的单机版图书管理系统 129 第5章 网络编程 /138 5.1 什么是网络编程 138 5.1.1 Socket通信 139 5.1.2 HTTP通信 140 5.2 客户/服务器模式 140 5.2.1 控制台上的简单输入输出 141 5.2.2 控制台上的循环输入输出 141 5.2.3 一个客户端和一个服务器端一次通信 143 5.2.4 一个客户端和一个服务器端多次通信 146 5.2.5 多个客户端和一个服务器端串行通信 151 5.2.6 多个客户端和一个服务器端并行通信 155 5.2.7 客户端与服务器端HTTP通信 158 5.3 通信协议 161 5.3.1 什么是协议,为什么需要协议 161 5.3.2 如何实现协议 161 5.4 Handler机制 162 5.5 联网的图书管理系统 162 5.5.1 定义协议 163 5.5.2 使用TCP Socket的图书管理系统 164 5.5.3 使用TCP Socket的图书管理系统的服务器 175 5.5.4 使用HTTP的图书管理系统 194 5.5.5 使用HTTP的图书管理系统的服务器 195 第6章 多媒体 /197 6.1 MediaPlayer 197 6.2 音频播放 200 6.2.1 从源文件播放音频 200 6.2.2 从文件系统播放音频 201 6.2.3 从流媒体播放音频 203 6.3 视频播放 204 6.3.1 从源文件播放视频 204 6.3.2 从文件系统播放视频 204 6.3.3 从流媒体播放视频 205 6.4 为图书管理系统配上音乐 205 第7章 图书管理系统程序进阶 /209 7.1 Service(服务) 209 7.1.1 了解Service 209 7.1.2 Service的启动与生命周期 209 7.2 系统服务 216 7.2.1 什么是系统服务 216 7.2.2 获得系统服务 216 7.2.3 重力感应 217 7.3 广播 218 7.3.1 什么是广播 218 7.3.2 广播的接收与响应 219 7.3.3 广播的发送 220 7.4 Service实现新书上架通知 221 7.4.1 客户端 221 7.4.2 服务器 226 7.5 带异步刷新功能的图书管理系统 233 7.5.1 Tab标签的实现 235 7.5.2 自定义的ListView与Adapter 237 7.5.3 异步刷新实现 241 7.5.4 其他部分实现 242 参考文献 /247