第1篇 基础篇 2
第1章 Android系统与开发环境 2
1.1 什么是Android 2
1.1.1 Android平台的架构 2
1.1.2 Android操作系统的功能 3
1.1.3 Android的分支平台 5
1.1.4 Android平台五大优势特色 5
1.2 Android Studio入门 6
1.2.1 Android Studio的特点 6
1.2.2 Android Studio系统要求 6
1.2.3 Android Studio和Eclipse ADT比较 7
1.3 搭建Android开发环境 7
1.3.1 下载JDK 7
1.3.2 JDK的安装 8
1.3.3 JDK的环境变量配置 10
1.3.4 Windows环境下安装Android Studio 13
1.3.5 Mac环境下安装Android Studio 15
1.3.6 下载、安装和配置Android SDK 16
1.3.7 SDK下载国内镜像 20
1.3.8 第一次打开Android Studio的配置 21
1.4 Android模拟器Genymotion 23
1.4.1 什么是Genymotion 23
1.4.2 Genymotion的特性 23
1.4.3 Genymotion运行环境要求 24
1.4.4 注册和下载Genymotion模拟器 24
1.4.5 安装Genymotion模拟器 27
1.4.6 使用Genymotion模拟器 28
1.4.7 给Android Studio安装Genymotion插件 31
1.5 新建一个Hello World项目 33
第2章 Android UI设计 38
2.1 Android UI布局 38
2.2 ListView(列表视图) 46
2.2.1 ListView(列表视图)的常用属性 46
2.2.2 ArraryAdapter(数组适配器) 47
2.3 GridView(网格视图) 49
2.4 Android UI控件 56
2.4.1 TextView(文本框) 56
2.4.2 EditText(编辑框) 59
2.4.3 AutoCompleteTextView(自动填充文本框) 61
2.4.4 Button(普通按钮) 64
2.4.5 ImageButton(图片按钮) 66
2.4.6 CheckBox(复选框) 69
2.4.7 ToggleButton(开关按钮) 73
2.4.8 RadioButton(单选按钮)与RadioGroup(按钮组) 77
2.4.9 使用ProgressDialog(进度对话框)类创建ProgressBar(进度条) 81
2.4.10 Spinner(列表选择框) 84
2.4.11 TimePicker(时间拾取器) 87
2.5 DatePicker(日期拾取器)与DatePickerDialog(日期拾取器对话框) 91
第3章 基本程序单元Activity 97
第4章 Android应用核心Intent和Filters 102
4.1 Intent的各属性 102
4.1.1 Component(组件) 103
4.1.2 Action(动作) 103
4.1.3 Category(类别) 104
4.1.4 Data(数据)和Type(类型) 105
4.1.5 Extra(额外) 106
4.1.6 Flag(标记) 106
4.2 Intents的类型 107
4.2.1 显式Intent 107
4.2.2 隐式Intent 107
4.3 Intent Filters(意图过滤器) 111
第5章 Android事件处理 119
5.1 Android事件处理概述 119
5.2 注册事件监听器的方法 119
第6章 Android服务 129
6.1 Service的分类 129
6.2 Service的生命周期 129
6.3 Service生命周期中的回调方法 130
第7章 Android广播接收器 135
7.1 创建Broadcast Receiver 135
7.2 注册Broadcast Receiver 135
7.2.1 接收用户自定义Broadcast Intent消息 136
7.2.2 接收系统广播消息 136
第8章 ContentProvider实现数据共享 144
8.1 ContentProvider概述 144
8.2 URI简介 145
8.3 创建ContentProvider 145
第9章 图形图像与多媒体 156
9.1 基础绘图 156
9.1.1 常用绘图类 156
9.1.2 绘制2D图形 157
9.2 位图操作 160
9.3 Android中的动画 163
9.3.1 Frame Animation 163
9.3.2 Tween Animation 165
9.3.3 PropertyAnimation 173
9.3.4 动画监听器:AnimationListener 173
9.4 在Android中播放音频与视频 173
9.4.1 MediaPlayer介绍 173
9.4.2 运用MediaPlayer播放音频 176
9.4.3 播放视频 181
9.5 控制相机拍照 187
第10章 Android的网络编程基础 189
10.1 基于TCP协议的网络通信 189
10.1.1 TCP/IP协议基础 189
10.1.2 Socket与ServerSocket建立通信 190
10.2 使用URL访问网络 193
10.2.1 使用URL获取网络资源 193
10.2.2 使用URLConnection提交请求 196
10.2.3 使用HttpURLConnection实现网络通信 201
10.3 使用WebView 203
10.3.1 使用WebView浏览网页 203
10.3.2 加载本地html页面 205
10.3.3.JavaScript交互调用 207
10.4 使用WebService进行网络编程 209
10.4.1 WebService基础 209
10.4.2 调用WebService 210
10.4.3 实现手机归属地查询 212
第11章 Android数据存储 216
11.1 使用SharedPreferences 216
11.1.1 SharedPreferences的使用方法 216
11.1.2 SharedPreferences的应用 217
11.2 File存储 219
11.2.1 使用IO流操作文件 219
11.2.2 文件操作应用 219
11.2.3 将文件保存到SD卡 221
11.3 SQLite数据库 224
11.3.1 SQLite介绍 224
11.3.2 SQLite数据库操作 227
第12章 GPS应用开发与百度地图 238
12.1 支持GPS的核心API 238
12.2 获取LocationProvider 239
12.3 获取定位信息 241
12.4 使用百度地图服务 244
12.4.1 获取百度地图SDK 244
12.4.2 使用百度地图定位 246
第2篇 综合项目篇 252
第13章 基于Android的计算器 252
13.1 系统分析 252
13.2 系统设计 252
13.2.1 系统目标 252
13.2.2 系统功能结构 252
13.2.3 系统业务流程 253
13.3 系统实施 253
13.3.1 开发及运行环境 253
13.3.2 项目的创建 254
13.3.3 计算器主界面的实现 256
13.3.4 计算器逻辑的实现 259
13.4 系统运行与测试 264
第14章 图形化数字游戏 265
14.1 系统分析 265
14.2 系统设计 265
14.2.1 系统目标 265
14.2.2 系统功能结构 265
14.2.3 系统业务流程 266
14.3 系统实施 266
14.3.1 开发及运行环境 266
14.3.2 项目的创建 266
14.3.3 项目工程结构 269
14.3.4 游戏主界面的实现 269
14.3.5 数字小游戏逻辑的实现 271
14.4 系统运行与测试 281
第15章 基于Android的音频播放器 283
15.1 系统分析 283
15.2 系统设计 283
15.2.1 系统目标 283
15.2.2 系统功能结构 283
15.2.3 系统业务流程 284
15.3 系统实施 284
15.3.1 开发及运行环境 284
15.3.2 项目的创建 285
15.3.3 项目工程结构 288
15.3.4 音频播放器主界面的实现 288
15.3.5 Android音频播放器逻辑的实现 292
15.4 系统运行与测试 298
第16章 Android数据库记事本 299
16.1 系统分析 299
16.2 系统设计 299
16.2.1 系统目标 299
16.2.2 系统功能结构 299
16.2.3 系统业务流程 300
16.3 系统实施 300
16.3.1 开发及运行环境 300
16.3.2 项目的创建 300
16.3.3 项目工程结构 304
16.3.4 记事本主界面的实现 304
16.3.5 记事本逻辑的实现 308
16.4 系统运行与测试 318
参考文献 320