第1章 敲开Android的开发大门 1
1.1 Android是什么 1
1.1.1 Android简介 1
1.1.2 Android历史 2
1.1.3 Android特点 2
1.1.4 Android4.0新功能 4
1.2搭建Android开发环境 4
1.2.1准备工作 4
1.2.2 Android开发工具包安装步骤 5
1.3安装Java开发工具包 5
1.4配置Eclipse集成开发环境 7
1.4.1下载Eclipse 7
1.4.2创建Eclipse桌面快捷方式 8
1.4.3第一次执行Eclipse 9
1.5安装Eclipse的Android开发工具插件 10
1.6安装Android软件开发工具包 12
1.7 Android模拟器简介 15
1.7.1认识Android模拟器 15
1.7.2创建Android模拟器 16
1.7.3启动Android模拟器 17
1.7.4设置模拟器语言及时区 18
1.7.5模拟器解锁 20
1.7.6切换模拟器屏幕方向 20
扩展练习 21
第2章Android,我来了 22
2.1从无到有新建项目 22
2.1.1新建项目 22
2.1.2启动已存在项目 24
2.1.3启动示例作为项目 26
2.1.4项目编译版本及属性 27
2.1.5在模拟器中执行程序 28
2.1.6在不同模拟器中执行程序 29
2.2 Android项目的文件夹结构 31
2.2.1项目文件夹概述 31
2.2.2 src文件夹 31
2.2.3 Android SDK文件夹 32
2.2.4 res/drawable文件夹 32
2.2.5 res/layout文件夹 33
2.2.6 res/values文件夹 33
2.2.7 assets文件夹 34
2.2.8 gen文件夹 34
2.2.9 AndroidManifest.xml及其他文件 37
2.3 main.xml布局配置文件 37
2.3.1 LinearLayout布局标签 38
2.3.2 TextView组件 39
2.4启动程序文件 39
2.4.1 Activity简介 39
2.4.2启动程序文件内容 40
扩展练习 41
第3章 认识基本的界面组件 43
3.1 TextView界面组件 43
3.1.1新建示例项目 43
3.1.2 TextView的语法与常用属性 44
3.1.3在Graphical Layout编辑区新增TextView 45
3.1.4使用xml语法新增 TextView 47
3.2 EditText界面组件 48
3.2.1 EditText的语法与常用属性 48
3.2.2新增EditText组件 50
3.3 Button界面组件 51
3.3.1 Button的语法 51
3.3.2新增Button组件 51
3.4使用Button组件执行程序 52
3.4.1组件的身份证:资源类文件 53
3.4.2 Button组件触发事件的程序 54
3.4.3加入Button执行程序代码 55
3.5综合演练:计算美国职棒大联盟投手的球速 57
3.5.1新建项目并完成布局 57
3.5.2加入Button执行程序代码 58
3.6多按钮共享事件 59
3.6.1建立共享的Iistener事件 59
3.6.2示例:多按钮共享事件 60
扩展练习 62
第4章 消息显示相关组件 63
4.1 TableLayout 63
4.1.1 TableLayout的语法 63
4.1.2示例:按钮式键盘布局配置 64
4.2 Toast弹出消息 66
4.2.1 Toast基本语法 67
4.2.2示例:加入显示消息的按钮式键盘 67
4.2.3重构Toast语法 69
4.2.4控制显示消息显示的位置 70
4.3 AlertDialog对话框 72
4.3.1 AlertDialog基本样式 73
4.3.2示例:创建AlertDialog 74
4.3.3 AlertDialog交互按钮 75
4.3.4示例:加入交互按钮的AlertDialog 76
4.4 Eclipse集成开发环境的自动完成功能 77
4.4.1自动引入包 77
4.4.2自动声明变量 78
4.4.3自动输入方法或属性 79
4.4.4自动完成内建类的必要方法 79
扩展练习 80
第5章 单选、复选和下拉列表 82
5.1 CheckBox界面组件——复选列表 82
5.1.1 CheckBox的语法示例 82
5.1.2新增CheckBox组件 82
5.1.3创建CheckBox组件复选的触发事件 83
5.1.4嵌套LinearLayout 86
5.2 RadioGroup、 RadioButton组件——单选列表 89
5.2.1 RadioGroup和RadioButton的语法 89
5.2.2新增RadioGroup、RadioButton组件 90
5.2.3创建RadioButton组件选中的触发事件 91
5.2.4复制为嵌套布局配置项目 93
5.3 Spinner界面组件——下拉式列表 95
5.3.1 Spinner的语法示例 95
5.3.2新增Spinner组件 95
5.3.3创建Spinner选项的步骤 96
5.3.4利用数组声明加入Spinner选项列表 96
5.3.5创建Spinner组件的触发事件 97
5.3.6利用string.xml文件加入Spinner选项列表 99
扩展练习 101
第6章 图片相关界面组件 102
6.1 ImageView界面组件——显示图像 102
6.1.1 ImageView的语法与常用属性 102
6.1.2示例:图像浏览器 103
6.2 Gallery界面组件——画廊展示 106
6.2.1 Gallery语法示例与常用的属性 106
6.2.2 Gallery程序执行的流程 106
6.2.3继承BaseAdapter 107
6.2.4示例:使用Gallery组件显示图片行 107
6.2.5示例:图片循环播放的Gallery组件 110
6.3 GridView界面组件——表格展示 111
6.3.1 GridView语法示例与常用的属性 111
6.3.2 GridView程序执行的流程 111
6.3.3继承BaseAdapter 112
6.3.4示例:GridView显示图片行 112
扩展练习 115
第7章ListViiew界面组件 116
7.1 ListView界面组件——选项列表 116
7.1.1 ListView的语法示例 116
7.1.2新增ListView组件 116
7.1.3创建ListView的选项步骤 117
7.1.4设置ListView的选项列表 117
7.1.5创建ListView组件的触发事件 118
7.2改变ListVi ew属性及选项过滤 120
7.3设置多选的ListView组件 122
7.3.1 ListView组件多选语法示例 122
7.3.2示例:设置Listview组件为多选 122
7.4自定义ListViiew列表项目 124
7.4.1定义自定义的布局配置文件 125
7.4.2继承BaseAdapter 126
7.4.3示例:自定义ListView列表项目 126
扩展练习 130
第8章 菜单组件 131
8.1菜单——OptionMenu 131
8.1.1加入菜单项 131
8.1.2菜单项的处理 132
8.1.3示例:自定义菜单选项 133
8.2快捷菜单——ContextMenu 135
8.2.1加入快捷菜单的选项 135
8.2.2快捷菜单注册 136
8.2.3快捷菜单选项的处理 136
8.2.4示例:自定义快捷菜单选项 137
扩展练习 139
第9章Intent的使用 140
9.1认识Android Manifest.xml 140
9.2认识Intent 142
9.2.1使用Intent执行浏览网站的动作 142
9.2.2使用Intent调用拨号按钮与拨打电话 143
9.2.3执行Activity 143
9.2.4示例:浏览网站、调用拨号按钮、拨打电话按钮 144
9.3执行自定义的Activity 146
9.3.1 Intent执行自定义Activity的方法 146
9.3.2示例:利用Intent切换自定义Activit 146
9.4附带数据的Intent 150
9.4.1使用Intent传递数据 150
9.4.2取出Intent的数据 151
9.4.3示例:利用Intent传递数据 152
9.5从被调用的Intent传回数据 155
9.5.1主程序传递数据 155
9.5.2被调用的程序取出Intent的数据 155
9.5.3被调用的程序传回Intent的数据 156
9.5.4主程序接收传回的数据 156
9.5.5示例:利用Intent接收回传数据 157
扩展练习 161
第10章Activity的生命周期 162
10.1 Activity的生命周期 162
10.1.1什么是Activity生命周期 162
10.1.2系统内存不足时的处理 163
10.2 Activity运行流程 163
10.2.1启动Activity 164
10.2.2结束一个Activity 164
10.2.3调用内建的Activity 165
10.2.4由内建的Activity返回原来的Activity 165
10.2.5调用自定义的Activity 165
10.2.6结束自定义的Activity返回原来的Activity 165
10.2.7点击POWER键锁定屏幕/解除锁定 165
10.2.8点击HOME键 166
10.2.9重新执行原来的程序 166
10.2.10由系统强制回收后再启动 166
10.3观察Activity生命周期 166
10.3.1示例:Activity的生命周期观察 166
10.3.2示例:Activity的生命周期应用示例 171
扩展练习 173
第11章 程序调试及代码段 174
11.1程序错误的种类 174
11.2 try...catch...finally 175
错误处理 175
11.2.1try...catch...finally语法格式 175
11.2.2示例:try...catch...finally错误处理 176
11.3 Log——日志文件的使用 179
11.3.1加入日志文件的程序 179
11.3.2查看Log日志 181
11.4断点 183
11.4.1认识断点 183
11.4.2示例:以调试模式查看变量 183
11.5程序代码段 185
11.5.1快速创建代码段 186
11.5.2在Snippets面板创建代码段 188
11.5.3使用代码段 189
11.5.4维护代码段 191
11.5.5代码段的导入导出 191
扩展练习 193
第12章 数据的保存 194
12.1 File Explorer——文件 194
浏览器 194
12.1.1使用File Explorer查看文件结构 194
12.1.2 File Explorer文件操作 196
12.2 SharedPreferences数据处理 199
12.2.1 SharedPreferences保存数据 200
12.2.2写入SharedPreference对象的内容 200
12.2.3 SharedPreferences读取及删除数据 201
12.2.4示例:智能欢迎页面 202
12.2.5 SharedPreferences实际文件 204
12.3使用文件保存数据 205
12.3.1写入文件数据 205
12.3.2读取文件数据 206
12.3.3示例:创建登录数据文件 207
12.3.4文件数据保存位置 209
12.3.5示例:登录页面——利用文件数据比对 210
扩展练习 213
第13章SQLite数据库 215
13.1认识SQLite数据库 215
13.2 SQLiteDatabase类 216
13.2.1使用execSQLO方法执行SQL命令 216
13.2.2示例:使用execSQL()方法执行SQL命令 217
13.2.3 rawQuery()数据查询 219
13.2.4 query()数据查询 220
13.2.5 insert()数据新增 220
13.2.6 delete()数据删除 221
13.2.7 update()修改数据 221
13.3使用ListViiew显示SQLite数据 221
13.3.1 SimpleCursorAdapter类 221
13.3.2将SQLite数据显示在ListView上 222
13.4创建自己的数据库类 226
13.4.1创建自定义数据库类:MyDB 226
13.4.2加入使用自定义类的执行程序代码 229
扩展练习 233
第14章 时间服务的相关组件 234
14.1 AnalogClock及DigitalClock组件 234
14.2 Chronometer组件——定时器 235
14.2.1 Chronometer的语法 235
14.2.2示例:Chronometer时钟及秒表 236
14.2.3示例:Chronometer幻灯图片播放 237
14.3 Timer类 239
14.3.1 Timer类的语法 239
14.3.2示例:Timer秒表 241
14.4 Thread类 243
14.4.1线程 243
14.4.2示例:Thread双秒表 244
14.4.3 Thread传送消息 247
扩展练习 248
第15章 播放音频视频与录音 249
15.1播放音频 249
15.1.1 MediaPlayer组件 249
15.1.2模拟器SD卡保存文件 250
15.1.3播放SD卡音频 251
15.1.4示例:SD卡音频播放器 252
15.1.5播放资源文件音频 255
15.1.6示例:资源文件音频播放器 256
15.2播放视频 257
15.2.1 ViideoView视频播放器 257
15.2.2示例:ViideoView视频播放器 258
15.2.3 SurfaceView组件语法 259
15.2.4 MediaPlayer与SurfaceView结合 260
15.2.5示例:自定义格式视频播放器 260
15.3录制音频 262
15.3.1 MediaRecorder组件语法 262
15.3.2示例:MediaRecorder录音机 263
扩展练习 267
第16章 发布应用程序 268
16.1支持多语言及屏幕模式 268
16.1.1抽取字符串到XML文件 268
16.1.2示例:计算大联盟球速抽取字符串 271
16.1.3开发多语言应用程序 272
16.1.4示例:计算大联盟球速多语言版 274
16.1.5支持各种屏幕分辨率 275
16.2将应用发布到Google Play商店 276
16.2.1安装应用程序到实体机 276
16.2.2应用程序产生私人密钥 278
16.2.3发布应用程序到Google Play商店 281
扩展练习 281
第17章Google地图应用程序 282
17.1 Google地图应用程序准备工作 282
17.1.1安装Google APIs 282
17.1.2创建Google APIs应用程序的模拟器 283
17.1.3创建Google APIs应用程序 284
17.1.4查询经纬度 284
17.1.5申请本机执行Google地图的API Key 285
17.2创建Google地图应用程序 287
17.2.1创建Google地图应用程序的步骤 287
17.2.2示例:新建Google地图应用程序 288
17.3加入Google地图控制功能 290
17.3.1地图的查看模式 290
17.3.2地图的放大、缩小和拖曳 291
17.3.3示例:设置Google地图的缩放、拖曳和查看模式 291
17.4获取当前位置的相关信息 293
17.4.1 Android设备定位的方法 294
17.4.2使用LocationManager对象定位 294
17.4.3示例:使用LocationManager对象获取当前的位置 296
17.4.4进行模拟定位 298
17.4.5使用MyLocationOverlay对象定位 299
17.4.6示例:使用LocationOverlay对象获取当前定位 301
17.5在Google地图上加标记 302
17.5.1创建继承ItemizedOverlay类的标记图层类 302
17.5.2创建标记图层对象 304
17.5.3示例:为地图显示标记 305
17.6发布能在实体机执行的Google地图应用程序 309
17.6.1申请实体机执行的API Key 309
17.6.2使用实体机的API Key发布apk文件 311
17.6.3 Google地图应用程序发布错误时的处理 311
扩展练习 312