第1章 Android概述 1
1.1 智能手机的发展 1
1.2 智能手机操作系统 2
1.3 Android操作系统 3
1.3.1 Android操作系统的发展 3
1.3.2 Android操作系统的特点 5
1.3.3 Android操作系统与iOS操作系统的对比 5
1.4 搭建Android系统开发环境 6
1.4.1 安装JDK 6
1.4.2 安装Android Studio 9
1.4.3 Android Studio的基本配置 10
1.5 开发第一个Android项目 13
1.6 打包签名第一个Android项目 15
本章小结 16
习题 16
第2章 Android中的项目 17
2.1 Android项目的组成 17
2.2 Android项目中三个重要的文件 18
2.3 扩充FirstDemo项目 21
2.4 Activity 24
2.5 Android中的常用包 25
2.6 Android项目的大致开发流程 26
本章小结 26
习题 27
第3章 Android常用基本组件 28
3.1 Android平台中的View类 28
3.2 文本显示组件TextView 30
3.3 按钮组件Button 35
3.4 编辑框组件EditText 36
3.5 图片视图组件ImageView 40
3.6 图片按钮组件ImageButton 41
3.7 单选按钮组件RadioGroup 42
3.8 复选框组件CheckBox 44
3.9 下拉列表框组件Spinner 46
3.10 信息提示框组件Toast 50
3.11 布局编辑器 52
3.12 相对布局管理器组件RelativeLayout 53
3.13 线性布局管理器组件LinearLayout 55
3.14 表格布局管理器组件TableLayout 57
3.15 约束布局Constraint Layout 60
本章小结 64
习题 64
第4章 Android中的事件处理 65
4.1 Android中的事件处理基础 65
4.1.1 事件处理的过程 65
4.1.2 事件处理模型 65
4.2 单击事件OnClickListener 66
4.2.1 单击事件基础 66
4.2.2 单击事件实例 67
4.3 长按事件OnLongClickListener 68
4.3.1 长按事件基础 68
4.3.2 长按事件实例 69
4.4 焦点改变事件OnFocusChangeListener 70
4.4.1 焦点改变事件基础 70
4.4.2 焦点改变事件实例 71
4.5 键盘事件OnKeyListener 72
4.5.1 键盘事件基础 72
4.5.2 键盘事件实例 73
4.6 触摸事件onTouchEvent 74
4.6.1 触摸事件基础 74
4.6.2 触摸事件实例 75
4.7 选择改变事件OnCheckedChange 76
4.7.1 选择改变事件基础 76
4.7.2 RadioGroup选择改变事件实例 77
4.7.3 CheckBox选择改变事件实例 78
4.8 选项选中事件OnItemSelected 80
4.8.1 选项选中事件基础 80
4.8.2 OnItemSelected选项选中事件实例 81
4.9 日期和时间监听事件 82
4.9.1 日期和时间选择器组件 82
4.9.2 日期和时间的设置 83
4.9.3 日期和时间监听事件 85
4.10 菜单事件 87
4.10.1 菜单事件基础 87
4.10.2 选项菜单OptionsMenu 89
4.10.3 上下文菜单ContextMenu 94
4.10.4 弹出式菜单PopupMenu 97
4.10.5 子菜单SubMenu 98
本章小结 100
习题 100
第5章 Android常用高级组件 101
5.1 列表显示组件ListView 101
5.1.1 ListView组件常见的属性和方法 101
5.1.2 SimpleAdapter类 103
5.2 可展开的列表组件ExpandableListView 108
5.2.1 ExpandableListView组件基础 108
5.2.2 ExpandableListView组件实例 110
5.3 进度条组件ProgressBar 113
5.3.1 ProgressBar组件基础知识 113
5.4 拖动条组件SeekBar 115
5.4.1 SeekBar组件基础知识 115
5.4.2 SeekBar组件实例 116
5.5 星级评分条组件RatingBar 117
5.5.1 RatingBar组件基础 117
5.5.2 RatingBar组件实例 118
5.6 自动完成文本框AutoCompleteTextView 119
5.6.1 AutoCompleteTextView组件基础 119
5.6.2 AutoCompleteTextView组件实例 120
5.7 对话框组件Dialog 121
5.7.1 警告对话框 122
5.7.2 AlertDialog组件实例 123
5.7.3 自定义对话框 127
5.7.4 带进度条的对话框ProgressDialog 129
5.8 图片切换组件ImageSwitcher 131
5.9 选项卡组件TabHost 134
5.9.1 TabHost组件基础 134
5.9.2 TabHost组件实例 137
本章小结 141
习题 141
第6章 Android组件之间的通信 142
6.1 Android四大组件 142
6.2 Intent 143
6.2.1 利用Intent启动Activity 143
6.2.2 利用Intent在Activity之间传递数据 144
6.2.3 Intent组件传递数据实例 145
6.3 深入了解Intent 148
6.3.1 Intent的构成 148
6.3.2 Intent常用用法示例 150
6.3.3 Intent操作实例 153
6.4 Activity的生命周期 154
6.5 Android中的消息处理机制 157
6.5.1 消息处理机制基础 157
6.5.2 一个简单的消息处理实例 159
6.5.3 线程基础知识 161
6.5.4 异步处理工具类 165
6.6 Service 169
6.6.1 Service基础 169
6.6.2 Service的启动和停止 170
6.6.3 绑定Service 171
6.6.4 Service的生命周期 175
6.6.5 Service系统服务 176
6.7 BroadcastReceiver的使用 178
6.7.1 BroadcastReceiver基础 179
6.7.2 BroadcastReceiver组件操作实例 180
6.7.3 通过Broadcast启动Service 181
本章小结 182
习题 182
第7章 Android多媒体技术 184
7.1 Android中图形的绘制 184
7.1.1 图形绘制基础 184
7.1.2 图形绘制实例 186
7.2 Android中图像的处理 188
7.2.1 图像的获取 188
7.2.2 对获取的图像进行处理 189
7.2.3 图像处理举例 190
7.3 Android中的动画 191
7.3.1 Tween动画 191
7.3.2 创建动画实例 193
7.3.3 通过XML文件来创建动画 195
7.3.4 Frame动画 197
7.3.5 动画监听器 200
7.3.6 动画操作组件 201
7.4 Android中的媒体播放 203
7.4.1 Android中的音频播放 204
7.4.2 Android中的视频播放 209
本章小结 213
习题 213
第8章 Android数据存储技术 214
8.1 使用SharedPreferences存储数据 214
8.1.1 使用SharedPreferences存储数据 215
8.1.2 使用SharedPreferences读取数据 216
8.2 使用文件存储数据 217
8.2.1 读、写SD卡文件 219
8.2.2 读取资源文件 221
8.3 使用数据库存储数据 222
8.3.1 创建数据库及表 225
8.3.2 操作数据库 228
8.3.3 数据查询操作 231
8.4 使用ContentProvider存储数据 233
8.4.1 ContentProvider基础 233
8.4.2 创建自己的ContentProvider 236
8.4.3 操作联系人的ContentProvider 237
8.5 JSON数据 242
8.5.1 JSON基础 243
8.5.2 JSON的使用 243
8.5.3 Gson的基本操作 244
本章小结 250
习题 250
第9章 Android网络通信技术 251
9.1 Android网络通信技术基础 251
9.1.1 Android中的HTTP协议基础 251
9.1.2 Android中的Socket基础 252
9.1.3 Android中的蓝牙基础 253
9.1.4 Android中的Wi-Fi基础 253
9.2 WebView组件 254
9.2.1 WebView组件基础知识 254
9.2.2 使用WebView加载网页 256
9.2.3 使用WebView加载HTML文件 258
9.2.4 使用WebView加载JSP文件 260
9.3 利用HttpURLConnection开发HTTP程序 262
9.3.1 HttpURLConnection基础 262
9.3.2 HttpURLConnection通信:GET方式 263
9.3.3 HttpURLConnection通信:POST方式 266
9.3.4 数据的实时更新 270
9.4 利用Volley框架进行数据交互 272
9.4.1 Volley框架的使用 272
9.4.2 Volley框架使用实例 273
9.5 利用Socket交换数据 275
9.5.1 基于TCP协议的Socket通信 275
9.5.2 基于UDP协议的Socket通信 279
9.5.3 利用Socket实现简易的聊天室 280
9.6 蓝牙通信 281
9.6.1 蓝牙通信基础 281
9.6.2 蓝牙通信实现 284
9.6.3 蓝牙通信实例 287
9.7 Wi-Fi通信 289
本章小结 292
习题 292
第10章 投票系统APP端设计 293
10.1 需求分析 293
10.1.1 系统基本需求 293
10.1.2 系统开发参数 294
10.2 系统设计 294
10.2.1 数据库的设计与实现 294
10.2.2 服务器端设计与实现 295
10.2.3 Android客户端设计与实现 296
103测试 301
参考文献 304