第1章 Android操作系统概述 2
1.1了解智能手机 2
1.1.1智能手机的定义 2
1.1.2智能手机的特点 2
1.1.3当前主流智能手机系统 2
1.2初识Android 4
1.2.1产生背景 4
1.2.2 Android手机介绍 5
1.2.3 Android的特性 5
1.2.4 Android的相关信息 5
1.3 Android组件结构应用程序框架 6
1.3.1 Android组件结构 7
1.3.2 Android体系结构介绍 7
1.3.3 Android框架提供的功能 9
第2章 搭建Android开发环境 11
2.1安装Android SDK的系统要求 11
2.2安装JDK、 Eclipse和 Android SDK 11
2.2.1安装JDK 11
2.2.2安装Eclipse 14
2.2.3安装Android SDK 15
2.2.4将ADT和Eclipse绑定 17
2.3设定Android SDK Home 18
2.4 Android模拟器 19
2.4.1 Android模拟器介绍 20
2.4.2模拟器和真机的区别 20
2.4.3创建Android虚拟设备(AVD) 20
2.4.4启动AVD模拟器 22
2.5解决安装过程中的常见问题 22
2.5.1 Android不能在线更新 22
2.5.2解决“Project name must be specied”问题 23
2.5.3 Target列表中没有Target选项 24
2.5.4安装SDK的过程太慢 25
2.6第一个Android工程 26
2.6.1新建Android工程 26
2.6.2编写代码和代码分析 26
2.6.3调试 27
2.6.4运行项目 29
第3章Android程序初步开发 31
3.1简析Android安装文件 31
3.1.1 Android SDK目录结构 31
3.1.2 androidjar及内部结构 31
3.1.3阅读SDK文档需要技巧 32
3.1.4 SDK工具 33
3.2 Android自带的演示实例 34
3.3 Android应用工程文件组成 37
3.3.1 src目录 38
3.3.2 AndroidManfest.xml文件 38
3.3.3常量的定义文件 39
3.4五大组件 40
3.4.1使用Activity表现界面 40
3.4.2使用Intent和Intent Filters实现切换 41
3.4.3使用Service实现后台服务 41
3.4.4使用BroadcastIntentReceiver发送广播信息 42
3.4.5使用Content Provider存储数据 42
3.5进程和线程 42
3.5.1进程 42
3.5.2线程 43
3.6分析Android应用程序的生命周期 43
第4章 界面布局组件 47
4.1 UI规划组件 47
4.1.1 View视图组件 47
4.1.2 Viewgroup容器 47
4.1.3 Layout规划布局 47
4.1.4基本布局的练习 49
4.2五种布局对象 56
4.2.1线性布局LinearLayout 56
4.2.2框架布局FrameLayout 58
4.2.3绝对布局AbsoluteLayout 58
4.2.4相对布局RelativeLayout 59
4.2.5表格布局TableLayout 60
4.3在Intent和Activity之间实现跳跃 62
4.3.1 Intent调用另一个Activity 62
4.3.2联合使用Intent和Activity 64
第5章 Android基础组件 74
5.1创建一个Widget组件 74
5.2使用按钮组件Button 74
5.3使用文本框组件TextView 76
5.3.1使用TextView 76
5.3.2使用TextView实现颜色变换 76
5.3.3使用TextView实现静态域字体 79
5.3.4在代码中更改TextView文字颜色 82
5.4使用编辑框EditText 83
5.5使用多项选择组件CheckBox 84
5.6使用单项选择组件RadioGroup 86
5.7使用下拉列表组件Spinner 88
5.8使用自动完成文本组件 AutoCompleteTextView 90
5.9使用日期选择器组件DatePicker 93
5.10使用时间选择器组件TimePicker 94
5.11联合应用DatePicker和 TimePicker 95
5.12使用滚动视图组件ScrollView 98
5.13使用进度条组件ProgressBar 99
5.14使用拖动条组件SeekBar 100
5.15使用评分组件RatingBar 102
5.16使用图片视图组件ImageView 103
5.17使用切换图片组件ImageSwitcher和Gallery 104
5.18使用网格视图组件GridView 107
5.19使用标签组件Tab 109
第6章 Android高级组件 112
6.1友好界面MENU 112
6.1.1 MENU基础 112
6.1.2使用MENU组件 112
6.2列表组件ListView 115
6.2.1通过ArrayAdapter接收一个数组或通过List作为参数来构建 115
6.2.2使用SimpleAdapter 115
6.3使用对话框组件Dialog 117
6.4使用Toast和Notification组件 122
6.4.1 Toast组件 122
6.4.2 Notification组件 122
6.4.3使用Toast和Notifucation的实例 124
第7章 Android中的数据存储 132
7.1最简单的存储SharedPreferences 132
7.1.1 SharedPreferences简介 132
7.1.2 SharedPreferences实战演练 132
7.2文件存储 134
7.3 SQLite存储 136
7.4 Content Provideer储 141
7.4.1 Content Provider介绍 141
7.4.2 Content Provider实战演练 142
7.5网络存储 143
7.6总结Android的存储方式 145
第8章 Intent、Broadcast、Adapter和Service 148
8.1 Intent创建意图 148
8.1.1 Intent的构成 148
8.1.2剖析Intent的构成 148
8.1.3使用Intent的两种基本方法 151
8.1.4在Intent和Activity之间实现操作 156
8.1.5 Linkify简介 157
8.2 Activity的返回值和本地动作 158
8.2.1 Activity返回值 158
8.2.2 Android本地动作 160
8.3使用Intent广播事件 161
8.3.1广播事件 161
8.3.2 Broadcast Receiver监听广播 161
8.3.3 Android本地广播 163
8.4 Adapter接类 163
8.4.1 Android提供的Adapter 164
8.4.2用Adapter进行绑定 164
8.5 Service后台服务 164
8.5.1创建Service 165
8.5.2使用Service 165
8.5.3与远程Service通信 166
8.5.4设置权限 167
8.5.5 Service生命周期 168
8.5.6使用Service 168
第9章 开发电话与短信应用程序 174
9.1 Intent中的拨号和短信功能 174
9.1.1回忆Intent 174
9.1.2 Intent的组成 174
9.1.3显式Intent和隐式Intent 175
9.2解析IntentFilter 176
9.2.1动作测试 176
9.2.2类别测试 177
9.2.3数据测试 177
9.3使用Intent实现拨号处理 177
9.4使用Intent发送短信 182
9.4.1创建TinySMS界面 182
9.4.2设置权限 183
9.4.3发送短信处理 184
9.5与电话和短信服务相关的包 185
9.6监控手机状态 185
第10章GPS定位和地图应用开发 190
10.1位置服务 190
10.1.1类android.location 190
10.1.2 Android定位的基本流程 190
10.1.3 GPS定位应用实例 194
10.1.4构造LocationProvider查询条件 197
10.2位置监听处理 198
10.2.1 Maps库中的类 198
10.2.2 LocationManager及时监听变化的位置信息 199
10.3在Android系统中使用地图 200
10.3.1使用前的准备 200
10.3.2使用Map API密钥的基本流程 203
10.3.3应用Map API密钥实例 205
第11章 网络通信应用 212
11.1移动通信处理 212
11.1.1 Java中的网络通信 212
11.1.2 HTTP通信基础 215
11.1.3 Apache接口 216
11.2使用Android网络接口 223
11.3处理U RL 224
11.3.1 URL类 224
11.3.2 HttpURLConnection 227
11.4 WebKit 230
11.4.1 WebKit系统框架中的Java层 230
11.4.2 WebView是重中之重 233
11.4.3浏览网页的演练 234
11.5 Wi-Fi 236
11.5.1 Wi-Fi系统基础 236
11.5.2强大的WifiiManager类 238
第12章 开发多媒体应用 250
12.1使用Graphics类开发平面应用 250
12.1.1 Graphics类基础 250
12.1.2使用Graphics类 250
12.2二维动画 252
12.2.1类Drawable 252
12.2.2实现Tween Animation动画 253
12.2.3实现Frame Animation动画效果 255
12.3 OpenGL ES 256
12.3.1 OpenGL ES基础 257
12.3.2 Android用到的OpenGL ES 257
12.3.3 OpenGL ES的基本操作 257
12.3.4绘制图形 265
12.4音频开发 269
12.4.1音频接口类 269
12.4.2 AudioManager控制铃声 271
12.4.3录音 279
12.5播放音乐 289
12.5.1使用AudioTrack播放音频 289
12.5.2使用MediaPlayer放音频 290
12.5.3使用SoundPool 290
12.5.4使用Ringtone播放铃声 291
12.6使用Vibrator振动类 291
12.7闹钟 292
12.8使用VideoView播放视频 293
12.8.1 VideoView基础 293
12.8.2应用实例 295
第13章 开发手机应用 299
13.1蓬勃发展的手机游戏产业 299
13.1.1淘金的时代 299
13.1.2手机游戏现状 299
13.2手机游戏开发流程 300
13.3游戏框架 301
13.3.1 View类 301
13.3.2 SurfaceView类 302
13.3.3开发一个游戏框架 303
13.4游戏中的数学和物理 304
13.4.1游戏中的数学 304
13.4.2游戏中的物理 308
13.5物理碰撞 309
13.5.1几个概念 309
13.5.2完全弹性碰撞 310
13.5.3有损失的碰撞 311
13.6碰撞检测 315
13.6.1碰撞检测基础 315
13.6.2 AABB边界框 316
13.7传感器 322
13.7.1传感器开发工具 322
13.7.2常用的传感器 324
第14章 程序优化 330
14.1程序优化的九条基础规则 330
14.2必须遵循一定的命名规范 332
14.3程序优化 333
14.3.1基本优化 333
14.3.2程序性能优化 341
14.3.3高效Android 345
14.3.4 Android的单元测试 350
14.4 UI界面优化 353
第15章 网络RSS阅读器 360
15.1基础知识介绍 360
15.1.1 RSS的用途 360
15.1.2 RSS阅读器 360
15.1.3 RSS语法 360
15.2 SAX技术介绍 362
15.2.1 SAX的原理 362
15.2.2基于对象和基于事件的接口 362
15.2.3常用的接口和类 363
15.3实现流程 366
15.4具体实现 366
15.4.1建立实体类 367
15.4.2主程序文件ActivityMain java 370
15.4.3实现ContentHandler 372
15.4.4主程序文件 ActivityShowDescription.java 375
15.4.5主布局文件main.xml 376
15.4.6详情主布局文件 showdescription.xml 376
第16章Map地图 379
16.1项目分析 379
16.1.1规划UI界面 379
16.1.2数据存储设计 379
16.2具体实现 380
16.2.1新建工程 380
16.2.2主界面 380
16.2.3新建界面 383
16.2.4设置界面 385
16.2.5帮助界面 390
16.2.6地图界面 392
16.2.7数据存取 403
16.2.8实现Service服务 407
第17章 音乐播放器 411
17.1项目介绍 411
17.1.1项目背景介绍 411
17.1.2项目开发的目的 411
17.2系统需求分析 412
17.2.1构成模块 412
17.2.2系统流程 414
17.2.3功能结构图 415
17.2.4系统功能说明 416
17.2.5系统需求 416
17.3数据库设计 417
17.3.1字段设计 417
17.3.2 E-R图设计 417
17.3.3数据库连接 418
17.3.4创建数据库 418
17.3.5操作数据库 419
17.3.6数据显示 421
17.4具体编码 421
17.4.1设置项目服务信息 421
17.4.2播放器主界面 422
17.4.3播放列表功能 434
17.4.4菜单功能模块 437
17.4.5播放设置界面 440
17.4.6设置显示歌词 443
17.4.7文件浏览器模块 444
17.4.8数据存储 448
第18章 手机信息查看助手 451
18.1项目分析 451
18.1.1构成模块 451
18.1.2流程规划 451
18.2具体实现 452
18.2.1系统主界面 452
18.2.2系统信息 455
18.2.3硬件信息 462
18.2.4软件信息 466
18.2.5运行时信息 467
18.2.6 文件浏览器信息 471
18.2.7 AndroidManifest.xnml获取权限 474
第19章 足球游戏 476
19.1足球游戏介绍 476
19.1.1手机足球游戏 476
19.1.2策划游戏 476
19.1.3准备工作 476
19.2项目架构 477
19.2.1总体架构 477
19.2.2规划类 478
19.3具体编码 478
19.3.1 Activity类开发 478
19.3.2欢迎界面 483
19.3.3加载节目 490
19.3.4运动控制 491
19.3.5奖品模块 500
第20章 打包、签名和发布Android项目 505
20.1申请会员 505
20.2生成签名文件 507
20.3使用签名文件 512
20.4发布 514