第1章 Android概述 1
1.1 搭建Android开发环境 1
1.1.1 安装Java 1
1.1.2 安装Eclipse 1
1.1.3 安装Android SDK 2
1.1.4 配置Eclipse 3
1.1.5 高效的Eclipse ADT Bundle 5
1.2 Android虚拟设备(AVD) 5
1.2.1 AVD概述 5
1.2.2 创建AVD 6
1.2.3 模拟器与真机 8
1.3 Android中的常用工具 8
1.3.1 ADB的使用 8
1.3.2 DDMS的使用 9
1.4 Android系统架构 11
1.4.1 Linux内核 12
1.4.2 库 12
1.4.3 Android运行时 13
1.4.4 应用程序框架 13
1.4.5 应用程序 14
1.5 Android平台简介 14
1.5.1 Android平台的特性 14
1.5.2 Android SDK版本的特点 15
1.6 实例1:“你好,Android” 18
1.6.1 创建应用程序 18
1.6.2 在模拟器上运行应用程序 20
1.6.3 Android应用程序的项目结构 21
1.7 动手实践1:第1个Android应用 23
1.7.1 功能要求 23
1.7.2 操作提示 23
第2章 Android中的资源 25
2.1 实例1:千变万化背景色 25
2.1.1 功能要求与操作步骤 25
2.1.2 颜色(color)资源的定义和使用 28
2.2 实例2:屏蔽身份证部分信息 29
2.2.1 功能要求与操作步骤 29
2.2.2 字符串(string)资源的定义与使用 34
2.3 实例3:渐现“四书五经” 35
2.3.1 功能要求与操作步骤 35
2.3.2 线性布局(LinearLayout)的定义与使用 39
2.4 实例4:初读“大学” 40
2.4.1 功能要求与操作步骤 40
2.4.2 帧布局(FrameLayout)的定义与使用 42
2.5 实例5:办公电话一览 43
2.5.1 功能要求与操作步骤 43
2.5.2 表格布局(TableLayout)的定义与使用 46
2.6 实例6:梅花效果首界面 46
2.6.1 功能要求与操作步骤 46
2.6.2 相对布局(RelativeLayout)的定义与使用 50
2.7 实例7:DIY计算器 51
2.7.1 功能要求与操作步骤 51
2.7.2 网格布局(GridLayout)的定义与使用 54
2.8 实例8:美食背后的故事 55
2.8.1 功能要求与操作步骤 55
2.8.2 布局的嵌套使用 59
2.9 实例9:简易文本阅读器 60
2.9.1 功能要求与操作步骤 60
2.9.2 菜单(Menu)资源的定义与使用 66
2.10 动手实践2:紫禁城一日游 67
2.10.1 功能要求 67
2.10.2 操作提示 68
第3章 Android中的基本视图组件 70
3.1 实例1:新闻摘要与详情 70
3.1.1 功能要求与操作步骤 70
3.1.2 文本显示组件(TextView)的定义与使用 74
3.2 实例2:微信登录 75
3.2.1 功能要求与操作步骤 75
3.2.2 编辑框(EditText)的定义与使用 78
3.2.3 按钮(Button)的定义与使用 79
3.2.4 信息提示框(Toast)使用简介 80
3.3 实例3:注册应用账号 80
3.3.1 功能要求与操作步骤 80
3.3.2 下拉列表框(Spinner)的定义与使用 86
3.3.3 复选框(CheckBox)的定义与使用 87
3.3.4 图像按钮(ImageButton)的定义与使用 88
3.3.5 短信管理器(SmsManager)使用简介 89
3.4 实例4:完善个人资料 90
3.4.1 功能要求与操作步骤 90
3.4.2 单选按钮组(RadioGroup与RadioButton)的定义与使用 99
3.4.3 图像框(ImageView)的定义与使用 100
3.4.4 警告对话框(AlertDialog与AlertDialog Builder)使用简介 101
3.5 动手实践3:为友秀宝 103
3.5.1 功能要求 103
3.5.2 操作提示 104
第4章 Android中的高级视图组件 108
4.1 实例1:随心换肤 108
4.1.1 功能要求与操作步骤 108
4.1.2 图片切换器(ImageSwitcher)的定义与使用 113
4.1.3 文本切换器(TextSwitcher)的定义与使用 115
4.1.4 设置手机桌面背景简介 116
4.2 实例2:居家助手 116
4.2.1 功能要求与操作步骤 116
4.2.2 选项卡(TabHost)的生成与使用 123
4.2.3 标签(TabSpec)的定义与使用 125
4.2.4 日期选择器(DatePicker)与时间选择器(TimePicker) 126
4.2.5 显示地图的基本步骤 127
4.2.6 TabActivity的取代者FragmentActivity 128
4.3 实例3:全球名校快查 132
4.3.1 功能要求与操作步骤 132
4.3.2 自动完成文本框(AutoCompleteTextView)的定义与使用 136
4.3.3 列表视图(ListView)的定义与使用 138
4.4 动手实践4:休闲时分 139
4.4.1 功能要求 139
4.4.2 操作提示 140
第5章 Android应用程序的组成 148
5.1 实例1:身体质量指数测试 148
5.1.1 功能要求与操作步骤 148
5.1.2 活动(Activity)的定义与使用 153
5.1.3 意图(Intent)的定义与使用 156
5.2 实例2:编辑商品信息 159
5.2.1 功能要求与操作步骤 159
5.2.2 获取Activity返回值的方法 166
5.3 实例3:快速联系 167
5.3.1 功能要求与操作步骤 167
5.3.2 调用拨号程序和短信程序的方法 170
5.3.3 ContentProvider共享数据的方法 171
5.4 实例4:闹钟服务 172
5.4.1 功能要求与操作步骤 172
5.4.2 服务(Service)的定义 177
5.4.3 广播接收器(BroadcastReceiver)的定义与使用 178
5.4.4 四大组件之间的关系 179
5.5 动手实践5:掌上电子邮件 179
5.5.1 功能要求 179
5.5.2 操作提示 180
第6章 Android中的数据存取 181
6.1 实例1:保存偏好设置 181
6.1.1 功能要求与操作步骤 181
6.1.2 SharedPreferences的定义与使用 188
6.2 实例2:贴身账簿 189
6.2.1 功能要求与操作步骤 189
6.2.2 文件(File)的定义与使用 195
6.3 实例3:备忘随行 197
6.3.1 功能要求与操作步骤 197
6.3.2 SQLite数据库的基本使用方法 207
6.4 动手实践6:查账单 209
6.4.1 功能要求 209
6.4.2 操作提示 209
第7章 Android中的媒体处理 211
7.1 实例1:绘制五星红旗 211
7.1.1 功能要求与操作步骤 211
7.1.2 常用的绘图类 215
7.1.3 绘制简单图形的基本方法 217
7.2 实例2:放大镜看SD卡中的图 219
7.2.1 功能要求与操作步骤 219
7.2.2 访问图库中的图像 224
7.3 实例3:扣篮瞬间 226
7.3.1 功能要求与操作步骤 226
7.3.2 Android动画技术简介 229
7.4 实例4:悦视播放器 232
7.4.1 功能要求与操作步骤 232
7.4.2 音频的播放与录制 245
7.4.3 使用SurfaceView播放视频的步骤 247
7.5 动手实践7:迷你画板 248
7.5.1 功能要求 248
7.5.2 操作提示 249
第8章 综合实训:快乐数独 257
8.1 数独(Sudoku)简介 257
8.1.1 数独概述 257
8.1.2 数独的游戏规则与技巧 257
8.2 项目功能分析 258
8.2.1 项目的主要功能 258
8.2.2 “自定义设置”菜单 258
8.2.3 “软键盘”与“提示” 259
8.3 准备所需资源 259
8.3.1 图片(res/drawable-x/) 259
8.3.2 音频(res/raw/) 260
8.3.3 数组(res/values/arrays.xml) 260
8.3.4 颜色(res/values/colors.xml) 260
8.3.5 字符串(res/values/strings.xml) 260
8.3.6 动画(res/anim/cycle.xml和shake.xml) 261
8.4 界面设计 261
8.4.1 首界面(res/ layout/ activity_main.xml) 261
8.4.2 游戏界面(SudokuView.java) 262
8.4.3 设置界面(res/xml/settings.xml) 266
8.4.4 软键盘界面(res/layout/keypad.xml) 267
8.4.5 菜单界面(res/menu/menu.xml) 267
8.5 数据库设计 267
8.5.1 定义数据库常量类(Constants.java) 267
8.5.2 定义数据库辅助类(DBHelper.java) 268
8.6 功能实现与完善 269
8.6.1 首界面中按钮与菜单的功能(MainActivity.java) 269
8.6.2 “设置”的实现 272
8.6.3 “新游戏”与“继续”功能(NewGameActivity.java) 273
8.6.4 “关于”功能(AboutActivity.java) 279
8.6.5 修改配置文件(AndroidManifest.xml) 279
8.6.6 项目的完善方向 280