第1章 Android概述 1
1.1 智能手机的发展 1
1.2 智能手机操作系统简介 2
1.3 Android操作系统简介 3
1.3.1 Android操作系统的发展 3
1.3.2 Android操作系统的特点 5
1.4 搭建Android系统开发环境 5
1.4.1 安装JDK 6
1.4.2 安装Eclipse 8
1.4.3 安装Android SDK 9
1.5 开发第一个Android项目 13
1.6 封装第一个Android项目 14
本章小结 16
习题 16
第2章 Android中的项目 17
2.1 Android项目的组成 17
2.1.1 几个关键文件夹和文件 18
2.2 扩充firstDemo项目 22
2.3 Activity简介 27
2.4 Android中的常用包 28
2.5 Android项目的大致开发流程 29
2.6 Android中常见文件介绍 29
本章小结 30
习题 30
第3章 Android开发常用组件 31
3.1 Android平台中的View类 31
3.2 文本显示组件TextView 33
3.2.1 TextView组件常见的属性和方法 33
3.2.2 TextView组件的使用实例 34
3.3 按钮组件Button 37
3.3.1 Button组件常见的属性和方法 38
3.3.2 Button组件使用实例 38
3.4 编辑框组件EditText 39
3.4.1 EditText组件常见的属性和方法 39
3.4.2 EditText组件使用实例 40
3.5 图片视图组件ImageView 42
3.5.1 ImageView组件常用的属性和方法 42
3.5.2 ImageView组件使用实例 43
3.6 图片按钮组件ImageButton 44
3.6.1 ImageButton组件常用的属性和方法 44
3.6.2 ImageButton组件使用实例 44
3.7 单选按钮组件RadioGroup 45
3.7.1 RadioGroup组件常见的属性 46
3.7.2 RadioGroup组件使用实例 46
3.8 复选框组件CheckBox 47
3.8.1 CheckBox组件常见的属性和方法 48
3.8.2 CheckBox组件使用实例 48
3.9 下拉列表框组件Spinner 49
3.9.1 Spinner组件常见的属性和方法 49
3.9.2 Spinner组件使用实例 50
3.10 信息提示框组件Toast 54
3.10.1 Toast组件常见的属性和方法 54
3.10.2 Toast组件使用实例 54
3.11 相对布局管理器组件RelativeLayout 55
3.11.1 RelativeLayout组件常用的属性和方法 56
3.11.2 RelativeLayout组件使用实例 56
3.12 线性布局管理器组件LinearLayout 58
3.12.1 LinearLayout组件常用的属性和方法 59
3.12.2 LinearLayout组件使用实例 59
3.13 框架布局管理器组件FrameLayout 61
3.13.1 FrameLayout组件常用的属性和方法 61
3.13.2 FrameLayout的使用举例 61
3.14 表格布局管理器组件TableLayout 62
3.14.1 TableLayout组件常用的属性和方法 62
3.14.2 TableLayout的使用举例 64
3.15 布局管理器的嵌套 65
本章小结 67
习题 67
第4章 Android中的事件处理 68
4.1 Android中的事件处理基础 68
4.1.1 事件处理的过程 68
4.1.2 事件处理模型 68
4.2 单击事件OnClickListener 69
4.2.1 单击事件基础 69
4.2.2 单击事件实例 70
4.3 长按事件OnLongClickListener 71
4.3.1 长按事件基础 71
4.3.2 长按事件实例 72
4.4 焦点改变事件OnFocusChangeListener 73
4.4.1 焦点改变事件基础 73
4.4.2 焦点改变事件实例 74
4.5 键盘事件OnKeyListener 76
4.5.1 键盘事件基础 76
4.5.2 键盘事件实例 76
4.6 触摸事件onTouchEvent 80
4.6.1 触摸事件基础 80
4.6.2 触摸事件实例 81
4.7 选择改变事件OnCheckedChange 82
4.7.1 选择改变事件基础 82
4.7.2 RadioGroup选择改变事件实例 83
4.7.3 CheckBox选择改变事件实例 84
4.8 选项选中事件OnItemSelected 88
4.8.1 选项选中事件基础 88
4.8.2 OnItemSelected选项选中事件实例 88
4.9 日期和时间监听事件 92
4.9.1 日期和时间选择器组件 92
4.9.2 DatePicker和TimePicker组件使用实例 93
4.9.3 日期和时间的设置 95
4.9.4 日期和时间监听事件 97
4.10 菜单事件 99
4.10.1 菜单事件基础 99
4.10.2 选项菜单OptionsMenu 100
4.10.3 上下文菜单ContextMenu 104
4.10.4 子菜单SubMenu 107
本章小结 109
习题 109
第5章 Android常用高级组件 110
5.1 滚动视图组件ScrollView 110
5.1.1 ScrollView组件常见的属性和方法 110
5.1.2 ScrollView组件使用实例 111
5.2 列表显示组件ListVew 112
5.2.1 ListView组件常见的属性和方法 112
5.2.2 SimpleAdapter类 114
5.3 可展开的列表组件ExpandableListVew 118
5.3.1 ExpandableListView组件基础 118
5.3.2 ExpandableListView组件实例 120
5.4 进度条组件ProgressBar 124
5.4.1 ProgressBar组件基础知识 124
5.4.2 ProgressBar组件实例 126
5.5 拖动条组件SeekBar 127
5.5.1 SeekBar组件基础知识 128
5.5.2 SeekBar组件实例 128
5.6 星级评分条组件RatingBar 129
5.6.1 RatingBar组件基础 130
5.6.2 RatingBar组件实例 130
5.7 自动完成文本框AutoCompleteTextVew 131
5.7.1 AutoCompleteTextView组件基础 132
5.7.2 AutoCompleteTextVew组件实例 132
5.8 对话框组件Dialog 133
5.8.1 警告对话框:AlertDialog 134
5.8.2 AlertDialog组件实例 136
5.8.3 自定义对话框 139
5.8.4 带进度条的对话框ProgressDialog 141
5.9 图片切换组件ImageSwitcher 144
5.10 画廊组件Gallery 147
5.11 选项卡组件TabHost 152
5.11.1 TabHost组件基础 153
5.11.2 TabHost组件实例 156
本章小结 159
习题 159
第6章 Android组件之间的通信 160
6.1 Android四大组件简介 160
6.2 Intent简介 161
6.2.1 利用Intent启动Activity 161
6.2.2 利用Intent在Activity之间传递数据 162
6.2.3 Intent组件传递数据实例 163
6.3 深入了解Intent 167
6.3.1 Intent的构成 167
6.3.2 Intent常用用法示例 169
6.3.3 Intent操作实例 174
6.4 Activity的生命周期 176
6.5 Android中的消息处理机制 179
6.5.1 消息处理机制基础 179
6.5.2 一个简单的消息处理实例 181
6.5.3 线程基础知识 183
6.5.4 异步处理工具类:AsyncTask 187
6.6 Service 192
6.6.1 Service基础 192
6.6.2 Service的启动和停止 193
6.6.3 绑定Service 194
6.6.4 Service的生命周期 198
6.6.5 跨进程调用Service(AIDL服务) 199
6.6.6 Service系统服务 204
6.7 BroadcastReceiver 207
6.7.1 BroadcastReceiver基础 207
6.7.2 BroadcastReceiver组件操作实例 208
6.7.3 通过BroadCast启动Service 210
本章小结 212
习题 212
第7章 Android多媒体技术 213
7.1 Android中图形的绘制 213
7.1.1 图形绘制基础 213
7.1.2 图形绘制实例 215
7.2 Android中图像的处理 217
7.2.1 图像的获取 217
7.2.2 对获取的图像进行处理 218
7.2.3 图像处理实例 219
7.3 Android中的动画 221
7.3.1 Tween动画 221
7.3.2 创建动画实例 222
7.3.3 通过XML文件来创建动画 226
7.3.4 Frame动画 227
7.3.5 动画监听器:AnimationListener 230
7.3.6 动画操作组件:LayoutAnimationContolle 232
7.4 Android中的媒体播放 232
7.4.1 Android中音频播放 234
7.4.2 Android中视频播放 240
7.5 Android中的照相机 244
7.6 Android中的媒体录制 249
7.6.1 Android中的录音 250
7.6.2 Android中的录像 253
本章小结 256
习题 256
第8章 Android数据存储技术 257
8.1 使用SharedPreferences存储数据 257
8.1.1 使用SharedPreferences存储数据 258
8.1.2 使用SharedPreferences读取数据 260
8.2 使用文件存储数据 261
8.2.1 手机内存中的文件存储和读取 262
8.2.2 SD卡中的文件存储和读取 264
8.2.3 读取资源文件 268
8.3 使用数据库存储数据 269
8.3.1 创建数据库及表 272
8.3.2 操作数据库 275
8.3.3 数据查询操作 278
8.4 使用ContentProvider存储数据 280
8.4.1 ContentProvider基础 280
8.4.2 创建自己的ContentProvider 283
8.4.3 操作联系人的ContentProvider 284
8.4.4 多媒体信息的ContentProvider 291
本章小结 296
习题 296
第9章 Android网络通信技术 297
9.1 Android网络通信技术基础 297
9.1.1 Android中的HTTP协议基础 297
9.1.2 Android中的Socket基础 299
9.1.3 Android中的Web Service基础 300
9.1.4 Android中的蓝牙基础 301
9.1.5 Android中的Wi-Fi基础 301
9.2 WebView组件介绍 302
9.2.1 WebView组件基础知识 302
9.2.2 使用WebView加载网页 304
9.2.3 使用WebView加载HTML文件 307
9.2.4 使用WebView加载JSP文件 309
9.2.5 JavaScript调用WebView中的数据 311
9.2.6 WebView调用中JavaScript的数据 313
9.3 利用HttpURLConnection开发HTTP程序 315
9.3.1 HttpURLConnection基础 315
9.3.2 HttpURLConnection通信:GET方式 316
9.3.3 HttpURLConnection通信:POST方式 321
9.4 利用HttpClient开发HTTP程序 325
9.4.1 HttpClient通信基础 325
9.4.2 HttpClient通信:GET方式 327
9.4.3 HttpClient通信:POST方式 330
9.4.4 数据的实时更新 332
9.5 利用Socket交换数据 334
9.5.1 基于TCP协议的Socket通信 335
9.5.2 基于UDP协议的Socket通信 338
9.5.3 利用 Socket实现简易的聊天室 340
9.6 Web Service通信 344
9.7 蓝牙通信 350
9.7.1 蓝牙通信基础 350
9.7.2 蓝牙通信实现 352
9.7.3 蓝牙通信实例 356
9.8 WiFi通信 357
本章小结 359
习题 359
参考文献 360