第1篇 基础篇
第1章 走近Android 2
视频讲解:21分钟
1.1 智能手机操作系统 3
1.2 Android发展史 4
1.3 Android应用领域 5
1.4 小结 6
第2章 搭建Android开发环境 7
视频讲解:22分钟
2.1 开发环境概述 8
2.1.1 系统需求 8
2.1.2 软件需求 8
2.1.3 Android开发环境的下载与安装过程 8
2.2 集成Android开发环境的下载 9
2.3 集成Android开发环境的安装 12
2.4 小结 21
第3章 第一个Android应用 22
视频讲解:51分钟
3.1 创建Android应用程序 23
3.2 Android项目结构 29
3.2.1 manifests节点 30
3.2.2 java节点 31
3.2.3 res节点 32
3.3 使用Android模拟器 35
3.4 运行Android应用 39
3.5 小结 39
第4章 用户界面设计基础 40
视频讲解:2小时47分钟
4.1 UI设计相关的概念 41
4.1.1 View 41
4.1.2 ViewGroup 42
4.2 控制UI界面 43
4.2.1 使用XML布局文件控制UI界面 43
4.2.2 开发自定义的View 46
4.3 布局管理器 49
4.3.1 相对布局管理器 49
4.3.2 线性布局管理器 52
4.3.3 帧布局管理器 56
4.3.4 表格布局管理器 59
4.3.5 网格布局管理器 62
4.3.6 布局管理器的嵌套 65
4.4 实战 68
4.4.1 开发一个抓不到我的小游戏 68
4.4.2 实现模拟QQ联系人列表界面 68
4.5 小结 68
第5章 初级UI组件 69
视频讲解:1小时59分钟
5.1 文本类组件(初级) 70
5.1.1 文本框 70
5.1.2 编辑框 73
5.2 按钮类组件(初级) 76
5.2.1 普通按钮 77
5.2.2 图片按钮 80
5.3 图像类组件 83
5.3.1 图像视图 84
5.3.2 网格视图 86
5.4 实战 90
5.4.1 实现手机相机中的拍照按钮 90
5.4.2 实现模拟淘宝首页分类栏 90
5.5 小结 90
第6章 中级UI组件 91
视频讲解:1小时48分钟
6.1 按钮类组件(中级) 92
6.1.1 单选按钮 92
6.1.2 复选框 96
6.2 进度条类组件 99
6.2.1 进度条 99
6.2.2 拖动条 103
6.2.3 星级评分条 106
6.3 实战 109
6.3.1 模拟12306添加乘客界面 109
6.3.2 模拟美团评价界面 109
6.4 小结 109
第7章 高级UI组件 110
视频讲解:58分钟
7.1 列表类组件 111
7.1.1 下拉列表框 111
7.1.2 列表视图 114
7.2 切换类组件 118
7.2.1 翻页组件(ViewPager) 118
7.2.2 翻页的标题栏(PagerTabStrip) 122
7.3 通用组件 126
7.3.1 滚动视图 126
7.3.2 选项卡 129
7.4 实战 132
7.4.1 模拟内涵段子首页列表 132
7.4.2 模拟淘宝商品排序 132
7.5 小结 132
第8章 基本程序单元Activity 133
视频讲解:1小时27分钟
8.1 Activity概述 134
8.2 创建、配置、启动和关闭Activity 135
8.2.1 创建Activity 135
8.2.2 配置Activity 137
8.2.3 启动和关闭Activity 138
8.3 多个Activity的使用 141
8.3.1 使用Bundle在Activity之间交换数据 141
8.3.2 调用另一个Activity并返回结果 144
8.4 使用Fragment 147
8.4.1 Fragment的生命周期 148
8.4.2 创建Fragment 149
8.4.3 在Activity中添加Fragment 149
8.5 实战 154
8.5.1 实现3个界面切换的运行效果 154
8.5.2 模拟中国工商银行App 154
8.6 小结 154
第9章 Android应用核心Intent 155
视频讲解:25分钟
9.1 初识Intent 156
9.1.1 Intent概述 156
9.1.2 Intent的基本应用 157
9.2 Intent种类 158
9.2.1 显式Intent 158
9.2.2 隐式Intent 159
9.3 Intent过滤器 162
9.3.1 配置标记 162
9.3.2 配置标记 163
9.3.3 配置标记 164
9.4 实战 167
9.4.1 通过隐式Intent实现一个打开手机相册的运行效果 167
9.4.2 通过Intent过滤器实现一个打开手机拨号面板的运行效果 167
9.5 小结 167
第10章 Android事件处理和手势 168
视频讲解:1小时2分钟
10.1 事件处理概述 169
10.1.1 基于监听的事件处理 169
10.1.2 基于回调的事件处理 169
10.2 物理按键事件处理 170
10.3 触摸屏事件处理 172
10.3.1 单击事件 172
10.3.2 长按事件 173
10.3.3 触摸事件 175
10.4 手势检测 177
10.5 实战 180
10.5.1 实现屏蔽返回物理按键 180
10.5.2 长按文字显示对话框 180
10.6 小结 180
第11章 Android应用的资源 181
视频讲解:1小时18分钟
11.1 字符串(string)资源 182
11.1.1 定义字符串资源文件 182
11.1.2 使用字符串资源 183
11.2 颜色(color)资源 183
11.2.1 颜色值的定义 183
11.2.2 定义颜色资源文件 184
11.2.3 使用颜色资源 185
11.3 尺寸(dimen)资源 185
11.3.1 Android支持的尺寸单位 186
11.3.2 使用尺寸资源 186
11.4 布局(layout)资源 190
11.5 数组(array)资源 190
11.5.1 定义数组资源文件 190
11.5.2 使用数组资源 191
11.6 样式(style)资源 193
11.7 菜单(menu)资源 195
11.7.1 定义菜单资源文件 196
11.7.2 使用菜单资源 196
11.8 小结 201
第2篇 提高篇
第12章 消息、通知、广播与闹钟 204
视频讲解:1小时23分钟
12.1 通过Toast类显示消息提示框 205
12.2 使用AlertDialog实现对话框 206
12.3 使用Notification在状态栏上显示通知 211
12.4 BroadcastReceiver使用 214
12.4.1 BroadcastReceiver简介 214
12.4.2 BroadcastReceiver应用 215
12.5 使用AlarmManager设置闹钟 217
12.5.1 AlarmManager简介 217
12.5.2 设置一个简单的闹钟 218
12.6 实战 221
12.6.1 模拟58同城退出对话框 221
12.6.2 模拟通知栏后台下载进度条 221
12.7 小结 221
第13章 Android中的动画 222
视频讲解:13分钟
13.1 逐帧动画 223
13.2 补间动画 225
13.2.1 旋转动画(Rotate Animation) 225
13.2.2 缩放动画(Scale Animation) 226
13.2.3 平移动画(Translate Animation) 227
13.2.4 透明度渐变动画(Alpha Animation) 228
13.3 实战 232
13.3.1 通过逐帧动画实现一个爆炸的动画效果 232
13.3.2 通过补间动画实现一个雷达扫描的动画 232
13.4 小结 232
第14章 播放音频与视频 233
视频讲解:37分钟
14.1 使用MediaPlayer播放音频 234
14.2 使用SoundPool播放音频 238
14.3 使用VideoView播放视频 242
14.4 实战 244
14.4.1 模拟网易云音乐播放与暂停 244
14.4.2 实现锁屏与唤醒时播放音乐 244
14.5 小结 244
第15章 数据存储技术 245
视频讲解:1小时24分钟
15.1 SharedPreferences存储 246
15.1.1 获得SharedPreferences对象 246
15.1.2 向SharedPreferences文件存储数据 246
15.1.3 读取SharedPreferences文件中存储的数据 247
15.2 文件存储 249
15.2.1 内部存储 250
15.2.2 外部存储 254
15.3 数据库存储 255
15.3.1 创建数据库 256
15.3.2 数据操作 256
15.4 实战 262
15.4.1 通过SharedPreferences实现一个可以保存复选框状态 262
15.4.2 通过内部存储实现一个可以记录进入应用次数 262
15.5 小结 262
第16章 Handler消息处理 263
视频讲解:34分钟
16.1 Handler消息传递机制 264
16.1.1 Handler类简介 265
16.1.2 Handler类中的常用方法 265
16.2 Handler与Looper、MessageQueue的关系 267
16.3 消息类(Message) 268
16.4 循环者(Looper) 271
16.5 实战 272
16.5.1 通过Handler实现从明日学院App闪屏界面跳转到主界面 272
16.5.2 通过Message实现动态改变文字颜色 272
16.6 小结 273
第17章 Service应用 274
视频讲解:34分钟
17.1 Service概述 275
17.1.1 Service的分类 275
17.1.2 Service的生命周期 275
17.2 Service的基本用法 277
17.2.1 创建与配置Service 277
17.2.2 启动和停止Service 280
17.3 Bound Service 283
17.4 使用IntentService 286
17.5 实战 287
17.5.1 通过启动和停止Service实现可以在后台播放音乐的播放器 287
17.5.2 通过Bound Service实现模拟下载进度 288
17.6 小结 288
第18章 传感器 289
视频讲解:50分钟
18.1 Android传感器概述 290
18.1.1 Android的常用传感器 290
18.1.2 开发步骤 291
18.2 磁场传感器 296
18.3 加速度传感器 298
18.4 实战 300
18.4.1 通过重力传感器实现移动的小球 300
18.4.2 通过加速度传感器实现摇晃手机更换音乐 300
18.5 小结 300
第19章 网络编程的应用 301
视频讲解:41分钟
19.1 通过HTTP访问网络 302
19.1.1 发送GET请求 302
19.1.2 发送POST请求 306
19.2 解析JSON格式数据 310
19.2.1 JSON简介 310
19.2.2 解析JSON数据 311
19.3 实战 314
19.3.1 通过POST请求向服务器提交注册信息 314
19.3.2 通过解析JSON数据,模拟应用宝导航栏文字 314
19.4 小结 314
第3篇 项目篇
第20章 静待花开 316
视频讲解:5分钟
20.1 开发背景 319
20.2 系统功能设计 319
20.2.1 系统功能结构 319
20.2.2 业务流程 319
20.3 本章目标 320
20.4 开发准备 321
20.4.1 导入工具类等资源文件 321
20.4.2 创建MyDataHelper数据帮助类 321
20.5 实现大雁飞翔的效果 323
20.5.1 设置大雁的逐帧动画 323
20.5.2 实现大雁飞翔的效果 324
20.6 实现蒲公英飘落的效果 326
20.6.1 创建数据模型DandelionModel类 326
20.6.2 创建DandelionView类 327
20.6.3 初始化绘制数据 327
20.6.4 重写SurfaceHolder的回调方法 329
20.6.5 绘制降落的蒲公英 329
20.6.6 实现飘落的效果 331
20.7 实现花开的效果 332
20.7.1 创建Plant类 332
20.7.2 添加子控件 333
20.7.3 测量控件并设置宽高 334
20.7.4 摆放Plant中的子控件 336
20.7.5 设置组合动画 339
20.7.6 设置接口回调 343
20.7.7 设置用于控制动画效果的方法 344
20.7.8 静待花开 345
20.8 实现背景颜色渐变的效果 347
20.8.1 创建属性动画xml文件 347
20.8.2 设置背景渐变动画 347
20.9 其他主要功能的展示 349
20.9.1 名人名言列表 349
20.9.2 说明界面 349
20.9.3 选择要分享的花 350
20.9.4 种花界面花枯萎的效果 350
20.10 本章总结 351