图书目录

目  录

第1 篇 基础篇 

第 1 章 Android 概述 2 

1.1 Android 简介  2 

1.2 Android 平台架构  3 

1.3 Android 基本组件  5 

1.4 搭建 Android 开发环境  7 

1.5 创建 HelloWorld 项目 11 

1.6 Android 项目目录结构  13 

1.6.1 Android 结构类型  14 

1.6.2 Project 结构类型  15 

1.7 习题  17 

第 2 章 Android 布局管理  18 

2.1 View 布局概述 18 

2.2 线性布局 20 

2.2.1 LinearLayout 类简介 20 

2.2.2 线性布局实例 22 

2.3 表格布局 24 

2.3.1 TableLayout 类简介 25 

2.3.2 表格布局实例 26 

2.4 相对布局 27 

2.4.1 RelativeLayout 类简介 28 

2.4.2 相对布局实例 29 

2.5 帧布局 31 

2.5.1 FrameLayout 类简介 31 

2.5.2 帧布局实例 31 

2.6 绝对布局 33 

2.6.1 AbsoluteLayout 类简介 33 

2.6.2 绝对布局实例 33 

2.7 约束布局 34

2.7.1 ConstraintLayout 类介绍 35 

2.7.2 约束布局实例 36 

2.8 布局的嵌套 38 

2.9 习题  42 

第 3 章 常用基本控件  45 

3.1 文本控件 45 

3.1.1 TextView 类简介 45 

3.1.2 EditText 类简介 46 

3.1.3 文本控件使用实例 47 

3.2 按钮控件 50 

3.2.1 Button 类简介 50 

3.2.2 ImageButton 类简介 51 

3.2.3 按钮控件使用实例 51 

3.3 单选按钮 54 

3.3.1 RadioButton 类简介  54 

3.3.2 单选按钮使用实例 54 

3.4 复选框 58 

3.4.1 CheckBox 类简介 58 

3.4.2 复选框使用实例 58 

3.5 图片控件 61 

3.5.1 ImageView 类简介  61 

3.5.2 ImageView 使用实例  62 

3.6 日期与时间控件 66 

3.6.1 DatePicker 类简介 66 

3.6.2 TimePicker 类简介 67 

3.6.3 日期时间控件使用实例 67 

3.7 开关与切换按钮控件 69 

3.7.1 开关控件 69 

3.7.2 切换按钮控件 70 

3.7.3 开关与切换按钮控件实例 70 

3.8 习题  75 

第 4 章 高级控件 76 

4.1 自动完成文本控件 76 

4.1.1 AutoCompleteTextView 类简介 76 

4.1.2 MultiAutoCompleteTextView 类简介 77 

4.1.3 自动完成文本控件实例 77

4.2 下拉列表控件 79 

4.2.1 Spinner 类简介 80 

4.2.2 下拉列表控件实例 80 

4.3 进度条与滑块 83 

4.3.1 ProgressBar 类简介 83 

4.3.2 SeekBar 类简介 83 

4.3.3 进度条与滑块实例 83 

4.4 滚动视图 87 

4.4.1 ScrollView 类介绍 87 

4.4.2 滚动视图实例 87 

4.5 列表视图 89 

4.5.1 ListView 类简介 89 

4.5.2 列表视图实例 90 

4.6 网格视图 98 

4.6.1 GridView 类简介 98 

4.6.2 GridView 使用实例 99 

4.7 画廊控件 102 

4.7.1 Gallery 类简介 103 

4.7.2 Gallery 使用实例 103 

4.8 习题  106 

第 5 章 常见 UI 设计  108 

5.1 碎片  108 

5.1.1 Fragment 生命周期 108 

5.1.2 Fragment 应用实例  109 

5.2 工具栏 118 

5.2.1 Toolbar 类 119 

5.2.2 Toolbar 应用实例  119 

5.3 底部导航栏 122 

5.3.1 BottonNavigationView 类 122 

5.4 可扩展列表视图 126 

5.4.1 ExpandableListView  126 

5.4.2 ExpandableListView 实例 127 

5.5 习题  133 

第 6 章 Activity 组件 135 

6.1 Activity 介绍  135 

6.1.1 Activity 类介绍 135

6.1.2 Activity 生命周期与管理 136 

6.2 调用其他的 Activity 138 

6.3 Activity 之间数据传送 141 

6.4 返回数据到前一个 Activity 143 

6.5 习题  146 

第 7 章 菜单与消息提示 148 

7.1 选项菜单 148 

7.1.1 选项菜单相关类 148 

7.1.2 选项菜单和子菜单使用实例 150 

7.2 上下文菜单 153 

7.2.1 ContextMenu 类简介 153 

7.2.2 上下文菜单使用实例 154 

7.3 Alert 对话框  157 

7.3.1 对话框简介 157 

7.3.2 对话框使用实例 158 

7.4 Toast 消息提示 166 

7.4.1 Toast 简介 166 

7.4.2 Toast 使用实例 167 

7.5 Notification 状态栏通知  168 

7.5.1 Notification 类简介  168 

7.5.2 Notification 使用实例  169 

7.6 习题  173 

第 8 章 Android 事件处理  174 

8.1 监听接口事件 174 

8.1.1 监听接口事件机制 174 

8.1.2 监听接口事件实例 177 

8.2 回调机制事件 180 

8.2.1 回调机制原理与过程 180 

8.2.2 回调机制事件实例 182 

8.3 习题  186 

第 9 章 Android 程序调试  187 

9.1 AndroidDeviceMonitor 的工作原理 187 

9.2 AndroidDeviceMonitor 的启动及介绍 188 

9.2.1 AndroidDeviceMonitor 的启动 188 

9.2.2 AndroidDeviceMonitor 各组成部分的功能简介 188 

9.3 AndroidProfiler 189

9.4 模拟器控制 190 

9.5 DeviceFileExplorer 191 

9.6 LogCat 192 

9.7 程序调试 Debug 194 

9.8 使用手机进行程序调试 194 

9.9 习题  195 

第 2 篇 提高篇 

第 10 章 Android 数据存储与处理  198 

10.1 文件存储 198 

10.1.1 内部存储 198 

10.1.2 外部存储 204 

10.2 首选项 SharedPreferences 210 

10.2.1 SharedPreferences 存储和读取数据的步骤 210 

10.2.2 SharedPreferences 的常用方法 210 

10.3 SQLite 存储 215 

10.3.1 SQLite 数据库简介 215 

10.3.2 SQLite 数据库的说明和应用  215 

10.3.3 SQLite 数据库使用实例 217 

10.4 内容提供者 ContentProvider  230 

10.4.1 ContentProvider 类简介  230 

10.4.2 ContentProvider 使用实例  232 

10.5 习题  241 

第 11 章 网络编程 244 

11.1 线程处理-Handler 和异步任务 244 

11.1.1 为何使用多线程 244 

11.1.2 什么是 Handler 246 

11.1.3 异步任务—AsyncTask  249 

11.1.4 AsyncTask 实例 250 

11.2 使用 HTTP 访问网络 254 

11.2.1 使用 HttpURLConnection  255 

11.2.2 HttpURLConnection 实例  255 

11.3 JSON 数据解析 259 

11.3.1 什么是 JSON  259 

11.3.2 解析 JSON 数据格式  260

11.3.3 OkHttp 的使用 261 

11.4 Socket 通信 265 

11.4.1 Socket 通信的实现步骤 265 

11.4.2 Socket 实例 266 

11.5 习题  269 

第 12 章 广播和服务 271 

12.1 广播接收者 271 

12.1.1 静态注册 271 

12.1.2 动态注册 275 

12.2 服务  277 

12.2.1 Service 生命周期及启动方法 277 

12.2.2 Start 方式启动 Service 实例  278 

12.2.3 Bind 方式启动 Service 实例 282 

12.3 服务和广播综合实例 288 

12.4 习题  295 

第 3 篇 综合篇 

第 13 章 基于高德地图的物流车辆轨迹 App . 298 

13.1 基于位置服务 298 

13.2 高德地图 API 299 

13.3 系统总体设计 300 

13.3.1 系统结构设计 300 

13.3.2 系统网络设计 300 

13.3.3 数据库设计 301 

13.4 申请高德地图 Key 302 

13.5 系统实现 304 

13.5.1 WebService 的实现及部署 304 

13.5.2 将高德地图加入项目中 310 

13.5.3 实现数据库访问类 312 

13.5.4 手机客户端实现 316 

13.6 本章小结 329 

参考文献 330