第1章 UI界面布局实战 1
1.1 第一个Android应用程序 1
1.1.1 使用Eclipse新建Android工程 2
1.1.2 编写代码和代码分析 2
1.1.3 调试程序 3
1.1.4 运行项目 4
1.2 使用线性布局(LinearLayout) 5
1.2.1 实例说明 6
1.2.2 具体实现 6
1.3 使用相对布局(RelativeLayout) 7
1.3.1 实例说明 7
1.3.2 具体实现 7
1.4 使用表格布局(TableLayout) 8
1.4.1 实例说明 8
1.4.2 具体实现 9
1.5 使用绝对布局(AbsoluteLayout) 10
1.5.1 实例说明 10
1.5.2 具体实现 10
1.6 使用标签布局(TabLayout) 11
1.6.1 实例说明 11
1.6.2 具体实现 11
1.7 使用层布局(FrameLayout) 13
1.7.1 实例说明 13
1.7.2 具体实现 13
1.8 Layout布局的综合应用 14
1.8.1 实例说明 14
1.8.2 具体实现 15
第2章 基本控件应用 21
2.1 创建一个桌面组件Widget 21
2.1.1 实例说明 21
2.1.2 具体实现 21
2.2 使用Button控件实现按钮效果 22
2.2.1 实例说明 22
2.2.2 具体实现 22
2.3 使用TextView控件显示文字 23
2.3.1 实例说明 23
2.3.2 具体实现 23
2.4 设置TextView的字体 26
2.4.1 实例说明 26
2.4.2 具体实现 26
2.5 使用EditText控件显示编辑框 27
2.5.1 实例说明 27
2.5.2 具体实现 28
2.6 使用CheckBox控件显示复选框 28
2.6.1 实例说明 29
2.6.2 具体实现 29
2.7 使用RadioGroup控件显示单选按钮 30
2.7.1 实例说明 30
2.7.2 具体实现 31
2.8 使用Spinner控件实现下拉列表框效果 31
2.8.1 实例说明 31
2.8.2 具体实现 32
2.9 使用AutoCompleteTextView控件自动输入文本 33
2.9.1 实例说明 33
2.9.2 具体实现 34
2.10 使用日期选择器控件DatePicker 35
2.10.1 实例说明 35
2.10.2 具体实现 36
2.11 使用时间选择器控件TimePicker 36
2.11.1 实例说明 37
2.11.2 具体实现 37
2.12 使用ScrollView控件实现滚动效果 37
2.12.1 实例说明 38
2.12.2 具体实现 38
2.13 使用ProgressBar控件实现进度条效果 38
2.13.1 实例说明 38
2.13.2 具体实现 39
2.14 使用SeekBar控件实现拖动条功能 39
2.14.1 实例说明 40
2.14.2 具体实现 40
2.15 使用评分组件RatingBar 40
2.15.1 实例说明 40
2.15.2 具体实现 41
2.16 使用图片视图控件ImageView 42
2.16.1 实例说明 42
2.16.2 具体实现 42
2.17 使用图片按钮控件ImageButton 43
2.17.1 实例说明 43
2.17.2 具体实现 43
2.18 使用Gallery控件实现类似QQ空间的照片效果 44
2.18.1 实例说明 45
2.18.2 具体实现 45
2.19 使用网格视图控件GridView 47
2.19.1 实例说明 47
2.19.2 具体实现 47
2.20 使用TabView控件实现标签栏效果 48
2.20.1 实例说明 48
2.20.2 具体实现 48
2.21 使用Toast实现提醒 49
2.21.1 实例说明 50
2.21.2 具体实现 50
2.22 在手机中实现文件搜索功能 51
2.22.1 实例说明 51
2.22.2 具体实现 51
2.23 使用AnalogClock实现一个时钟效果 53
2.23.1 实例说明 53
2.23.2 具体实现 53
2.24 实现不同的进度条效果 55
2.24.1 实例说明 56
2.24.2 具体实现 56
2.25 使用ListActivity控件实现界面布局 59
2.25.1 实例说明 59
2.25.2 具体实现 59
2.26 使用菜单控件MENU 61
2.26.1 实例说明 61
2.26.2 具体实现 62
2.27 使用SimpleAdapter控件实现列表效果 64
2.27.1 实例说明 64
2.27.2 具体实现 64
2.28 使用Dialog控件实现对话框效果 66
2.28.1 实例说明 66
2.28.2 具体实现 66
2.29 自定义一个Android控件 70
2.29.1 实例说明 70
2.29.2 具体实现 70
2.30 设置控件的外观样式 73
2.30.1 实例说明 73
2.30.2 具体实现 74
2.31 使用ExpandableListView控件实现手风琴效果 75
2.31.1 实例说明 75
2.31.2 具体实现 75
2.32 使用SlidingDrawer控件实现滑动式抽屉效果 77
2.32.1 实例说明 77
2.32.2 具体实现 78
2.33 使用ViewFlipper控件实现左右滑动动画效果 79
2.33.1 实例说明 79
2.33.2 具体实现 79
第3章 事件处理实战 83
3.1 使用setOnKeyListener事件实现文本处理 83
3.1.1 实例说明 83
3.1.2 具体实现 83
3.2 实现一个有背景图片的按钮 84
3.2.1 实例说明 84
3.2.2 具体实现 85
3.3 实现选择处理 87
3.3.1 实例说明 87
3.3.2 具体实现 87
3.4 实现购物清单效果 88
3.4.1 实例说明 88
3.4.2 具体实现 88
3.5 更换图片的相框 91
3.5.1 实例说明 91
3.5.2 具体实现 91
3.6 选择自己喜欢的球队 93
3.6.1 实例说明 93
3.6.2 具体实现 93
3.7 实现文件上传功能 96
3.7.1 实例说明 96
3.7.2 具体实现 97
3.8 日期和时间选择器 100
3.8.1 实例说明 100
3.8.2 具体实现 101
3.9 动态排版屏幕布局 103
3.9.1 实例说明 103
3.9.2 具体实现 103
3.10 加载手机磁盘中的文件 106
3.10.1 实例说明 106
3.10.2 具体实现 106
3.11 动态添加/删除Spinner菜单 108
3.11.1 实例说明 108
3.11.2 具体实现 108
3.12 使用OptionsMenu在屏幕中自定义菜单 111
3.12.1 实例说明 111
3.12.2 具体实现 111
3.13 实现定时器效果 113
3.13.1 实例说明 113
3.13.2 具体实现 114
第4章 界面显示实战 116
4.1 获取屏幕的分辨率 116
4.1.1 实例说明 116
4.1.2 具体实现 116
4.2 设置显示文字的样式 117
4.2.1 实例说明 117
4.2.2 具体实现 117
4.3 实现屏幕界面的转换 119
4.3.1 实例说明 119
4.3.2 具体实现 119
4.4 在一个Activity中调用另一个Activity 120
4.4.1 实例说明 121
4.4.2 具体实现 121
4.5 改变显示文字的颜色 123
4.5.1 实例说明 123
4.5.2 具体实现 123
4.6 在屏幕中实现拖动图片特效 124
4.6.1 实例说明 124
4.6.2 具体实现 124
4.7 在屏幕中实现一个About(关于)信息效果 126
4.7.1 实例说明 126
4.7.2 具体实现 126
4.8 实现程序加载效果 127
4.8.1 实例说明 128
4.8.2 具体实现 128
4.9 实现一个有选择项的对话框 129
4.9.1 实例说明 129
4.9.2 具体实现 129
4.10 改变手机的主题 130
4.10.1 实例说明 131
4.10.2 具体实现 131
4.11 自动显示输入的数据 132
4.11.1 实例说明 132
4.11.2 具体实现 132
4.12 实现图文提醒功能 133
4.12.1 实例说明 133
4.12.2 具体实现 133
4.13 实现QQ状态栏效果 135
4.13.1 实例说明 135
4.13.2 具体实现 135
4.14 系统文件管理器 138
4.14.1 实例说明 138
4.14.2 具体实现 138
4.15 清除、还原手机桌面 143
4.15.1 实例说明 143
4.15.2 具体实现 144
4.16 修改手机屏幕的显示方向 145
4.16.1 实例说明 145
4.16.2 具体实现 145
第5章 自动化服务应用实战 148
5.1 获取当前运行程序的路径 148
5.1.1 实例说明 148
5.1.2 具体实现 148
5.2 获取手机内SIM卡的信息 151
5.2.1 实例说明 151
5.2.2 具体实现 152
5.3 查看当前系统中正在运行的程序 155
5.3.1 实例说明 156
5.3.2 具体实现 156
5.4 收到短信后自动发送提示信息 159
5.4.1 实例说明 159
5.4.2 具体实现 159
5.5 获取手机剩余的电池容量 162
5.5.1 实例说明 162
5.5.2 具体实现 162
5.6 来电时自动发送提醒信息 164
5.6.1 实例说明 164
5.6.2 具体实现 165
5.7 获取手机中存储卡的容量 167
5.7.1 实例说明 167
5.7.2 具体实现 168
5.8 管理存储卡和内存卡中的信息 170
5.8.1 实例说明 170
5.8.2 具体实现 170
5.9 设置黑名单来电自动静音 176
5.9.1 实例说明 176
5.9.2 具体实现 177
5.10 自动更换手机桌面背景 179
5.10.1 实例说明 179
5.10.2 具体实现 179
5.11 自动显示一个开机界面 188
5.11.1 实例说明 188
5.11.2 具体实现 188
5.12 自动控制系统服务 189
5.12.1 实例说明 189
5.12.2 具体实现 189
第6章 文件操作和数据存储实战 192
6.1 修改/删除手机中的文件 192
6.1.1 实例说明 192
6.1.2 具体实现 192
6.2 显示在SharedPreferences中存储的信息 200
6.2.1 实例说明 200
6.2.2 具体实现 200
6.3 添加/删除SQLite中的数据 201
6.3.1 实例说明 202
6.3.2 具体实现 202
6.4 使用ContentProvider存储数据 206
6.4.1 实例说明 206
6.4.2 具体实现 206
6.5 ContentProvider日记本系统 208
6.5.1 实例说明 208
6.5.2 具体实现 208
6.6 存储当前用户的信息 218
6.6.1 实例说明 218
6.6.2 具体实现 218
6.7 使用文件保存数据 220
6.7.1 实例说明 220
6.7.2 具体实现 221
6.8 使用SD卡保存图片 223
6.8.1 实例说明 223
6.8.2 具体实现 223
第7章 电话和短信实战 226
7.1 实现简单的拨打电话功能 226
7.1.1 实例说明 226
7.1.2 具体实现 226
7.2 发送一则短信息 228
7.2.1 实例说明 229
7.2.2 具体实现 229
7.3 实现按钮拨号功能 231
7.3.1 实例说明 231
7.3.2 具体实现 231
7.4 实现发送短信系统 233
7.4.1 实例说明 234
7.4.2 具体实现 234
7.5 实现屏幕触控拨号功能 238
7.5.1 实例说明 238
7.5.2 具体实现 238
7.6 短信群发系统 239
7.6.1 实例说明 239
7.6.2 具体实现 240
7.7 监听短信是否发送成功 243
7.7.1 实例说明 243
7.7.2 具体实现 243
第8章 二维/三维图形、渲染和动画实战 248
8.1 在手机屏幕中绘制一个矩形 248
8.1.1 实例说明 248
8.1.2 具体实现 248
8.2 绘制一个画布 251
8.2.1 实例说明 251
8.2.2 具体实现 251
8.3 绘制基本的二维图形 253
8.3.1 实例说明 253
8.3.2 具体实现 253
8.4 渲染一个几何图形 257
8.4.1 实例说明 257
8.4.2 具体实现 257
8.5 实现动画效果 260
8.5.1 实例说明 260
8.5.2 具体实现 260
8.6 实现Frame动画效果 262
8.6.1 实例说明 262
8.6.2 具体实现 262
8.7 旋转屏图片 263
8.7.1 实例说明 264
8.7.2 具体实现 264
8.8 实现满天星动画效果 266
8.8.1 实例说明 266
8.8.2 具体实现 266
8.9 构建一个模拟3D场景 270
8.9.1 实例说明 270
8.9.2 具体实现 270
8.10 实现粒子系统效果 273
8.10.1 实例说明 273
8.10.2 具体实现 273
8.11 绘制一个三维圆柱体 277
8.11.1 实例说明 277
8.11.2 具体实现 277
8.12 混合图像 285
8.12.1 实例说明 285
8.12.2 具体实现 285
第9章 网络实战应用 290
9.1 在手机中浏览网页 290
9.1.1 实例说明 290
9.1.2 具体实现 290
9.2 在手机中加载HTML程序 291
9.2.1 实例说明 292
9.2.2 具体实现 292
9.3 使用内置浏览器打开网页 292
9.3.1 实例说明 293
9.3.2 具体实现 293
9.4 将文件上传至服务器 295
9.4.1 实例说明 295
9.4.2 具体实现 295
9.5 远程下载并安装一个软件 298
9.5.1 实例说明 298
9.5.2 具体实现 298
9.6 移动微博发布器 303
9.6.1 实例说明 303
9.6.2 具体实现 304
9.7 解析和生成XML 308
9.7.1 实例说明 308
9.7.2 具体实现 309
9.8 获取网络中的图片 310
9.8.1 实例说明 310
9.8.2 具体实现 310
9.9 获取网页的代码 311
9.9.1 实例说明 312
9.9.2 具体实现 312
第10章 视频和音频实战应用 313
10.1 调节手机音量的大小 313
10.1.1 实例说明 313
10.1.2 具体实现 313
10.2 实现手机震动效果 317
10.2.1 实例说明 317
10.2.2 具体实现 317
10.3 手机背面朝上时自动启动震动模式 320
10.3.1 实例说明 321
10.3.2 具体实现 321
10.4 在手机中播放MP3文件 326
10.4.1 实例说明 326
10.4.2 具体实现 326
10.5 编写一个录音程序 330
10.5.1 实例说明 330
10.5.2 具体实现 330
10.6 实现相机预览和拍照功能 335
10.6.1 实例说明 335
10.6.2 具体实现 336
10.7 在手机中播放影片 341
10.7.1 实例说明 342
10.7.2 具体实现 342
10.8 设置手机的铃声 344
10.8.1 实例说明 344
10.8.2 具体实现 345
10.9 播放远程网络中的MP3 347
10.9.1 实例说明 347
10.9.2 具体实现 348
第11章 手机游戏应用 355
11.1 五子棋游戏 355
11.1.1 实例说明 355
11.1.2 具体实现 355
11.2 益智类游戏——魔塔 363
11.2.1 实例说明 363
11.2.2 具体实现 363
11.3 纸牌类游戏 382
11.3.1 实例说明 382
11.3.2 具体实现 382
11.4 体育竞技类游戏——疯狂足球 387
11.4.1 实例说明 387
11.4.2 具体实现 387
第12章 移动Web应用 392
12.1 编写第一个网页 392
12.1.1 实例说明 392
12.1.2 具体实现 392
12.2 使用jQuery设计网页 396
12.2.1 实例说明 397
12.2.2 具体实现 397
12.3 使用页面模板 399
12.3.1 实例说明 399
12.3.2 具体实现 399
12.4 使用多页面模板 400
12.4.1 实例说明 401
12.4.2 具体实现 401
12.5 使用Ajax驱动导航 402
12.5.1 实例说明 402
12.5.2 具体实现 402
12.6 实现基本对话框效果 403
12.6.1 实例说明 403
12.6.2 具体实现 404
12.7 实现竖屏和横屏自适应效果 405
12.7.1 实例说明 405
12.7.2 具体实现 405
12.8 实现全屏显示效果 406
12.8.1 实例说明 406
12.8.2 具体实现 407
12.9 在表单中输入文本 408
12.9.1 实例说明 408
12.9.2 具体实现 409
12.10 动态输入文本 411
12.10.1 实例说明 411
12.10.2 具体实现 411
12.11 实现内置列表效果 412
12.11.1 实例说明 412
12.11.2 具体实现 413
12.12 开发一个Web版的电话簿系统 413
12.12.1 实例说明 413
12.12.2 具体实现 414
12.13 搭建PhoneGap开发环境 419
12.13.1 实例说明 419
12.13.2 具体实现 420
12.14 创建基于PhoneGap的HelloWorld程序 421
12.14.1 实例说明 422
12.14.2 具体实现 422
第13章 Google API服务 428
13.1 获取当前位置的坐标 428
13.1.1 实例说明 428
13.1.2 具体实现 428
13.2 使用谷歌地图 430
13.2.1 实例说明 430
13.2.2 具体实现 433
13.3 输入一个坐标后在地图中实现定位 436
13.3.1 实例说明 436
13.3.2 具体实现 436
13.4 实现地址查询功能 439
13.4.1 实例说明 439
13.4.2 具体实现 439
13.5 实现路径导航 443
13.5.1 实例说明 443
13.5.2 具体实现 443
13.6 移动手机时自动实现位置更新 449
13.6.1 实例说明 449
13.6.2 具体实现 450
13.7 模拟验证官方账号 454
13.7.1 实例说明 454
13.7.2 具体实现 454
13.8 实现谷歌搜索功能 461
13.8.1 实例说明 461
13.8.2 具体实现 461
13.9 使用Google Chart API生成二维条码 465
13.9.1 实例说明 465
13.9.2 具体实现 465
13.10 在手机中编写一个翻译软件 469
13.10.1 实例说明 469
13.10.2 具体实现 469
13.11 在手机屏幕中生成二维条码 470
13.11.1 实例说明 470
13.11.2 具体实现 471
第14章 传感器实战应用 475
14.1 检测当前设备支持的传感器 475
14.1.1 实例说明 475
14.1.2 具体实现 476
14.2 获取设备中光线传感器的值 478
14.2.1 实例说明 478
14.2.2 具体实现 479
14.3 在设备地图中快速查询某个位置 481
14.3.1 实例说明 481
14.3.2 具体实现 481
14.4 获取磁场传感器的3个分量 483
14.4.1 实例说明 483
14.4.2 具体实现 484
14.5 实现仿微信“摇一摇”效果 485
14.5.1 实例说明 485
14.5.2 具体实现 485
14.6 测试小球的运动 492
14.6.1 实例说明 493
14.6.2 具体实现 493
14.7 测试当前设备的3个方向值 498
14.7.1 实例说明 498
14.7.2 具体实现 498
14.8 确定设备当前的具体方向 500
14.8.1 实例说明 500
14.8.2 具体实现 501
14.9 使用距离传感器实现自动锁屏功能 512
14.9.1 实例说明 512
14.9.2 具体实现 513