第1章 Android开发起步 1
1.1 Android简介 1
1.1.1 Android起源与发展 1
1.1.2 Android特点 3
1.1.3 Android体系结构 3
1.2 Android开发环境 5
1.2.1 安装JDK 5
1.2.2 安装集成了Android SDK和ADT的Eclipse 7
1.2.3 Android SDK目录结构 11
1.3 在Eclipse开发环境中使用Android 12
1.3.1 工作空间的建立与切换 12
1.3.2 Android项目的导出与导入 12
1.3.3 运行Android项目 14
1.4 Android四大组件 17
1.4.1 Activity 18
1.4.2 Service 18
1.4.3 BroadcastReceiver 18
1.4.4 ContentProvider 18
第2章 Android应用程序及生命周期 20
2.1 创建“移动点餐系统”Android程序 20
2.1.1 创建“移动点餐系统”项目 20
2.1.2 剖析“移动点餐系统”项目结构 23
2.2 “移动点餐系统”项目关键文件 26
2.2.1 layout目录中的activity_main.xml文件 26
2.2.2 AndroidManifest.xml文件 27
2.2.3 gen目录中的R.java文件 28
2.2.4 src目录中的MainActivity.java文件 30
2.3 Android生命周期 30
2.3.1 程序生命周期 30
2.3.2 Activity生命周期 31
2.4 程序调试 36
2.4.1 LogCat 36
2.4.2 程序跟踪 38
第3章 Android用户界面程序设计 40
3.1 用户界面基础 40
3.2 界面布局 41
3.2.1 框架布局 41
3.2.2 线性布局 42
3.2.3 相对布局 43
3.2.4 绝对布局 44
3.2.5 表格布局 45
3.2.6 网格布局 47
3.2.7 布局的混合使用 47
3.3 界面常用控件 47
3.3.1 TextView和EditView 47
3.3.2 Button和ImageButton 49
3.3.3 CheckBox和RadioButton 50
3.3.4 Spinner和ListView 53
3.3.5 自定义列表 56
3.4 “移动点餐系统”用户界面 60
3.4.1 实体模型类设计 60
3.4.2 主界面设计 64
3.4.3 用户注册界面设计 69
3.4.4 点餐菜单界面设计 73
第4章 多个用户界面的程序设计 77
4.1 用户界面切换与传递参数 77
4.1.1 传递参数的组件Intent 77
4.1.2 启动另一个Activity 78
4.1.3 Activity间的数据传递 81
4.2 消息提示 84
4.3 对话框 86
4.3.1 消息对话框 86
4.3.2 普通对话框 87
4.4 菜单 90
4.4.1 选项菜单 90
4.4.2 快捷菜单 92
4.5 “移动点餐系统”多用户界面程序设计 94
4.5.1 用户登录 94
4.5.2 用户注册 98
4.5.3 用户信息查看及修改 100
4.5.4 用户点餐 101
4.5.5 选择通信方式 110
第5章 Android数据存储与访问 113
5.1 简单存储 113
5.1.1 SharedPreferences 113
5.1.2 使用SharedPreferences存储用户登录信息 114
5.2 文件存储 115
5.2.1 内部存储 115
5.2.2 外部存储 117
5.2.3 编写一个文件存储访问类 120
5.2.4 “移动点餐系统”中的文件操作 124
5.3 数据库存储 129
5.3.1 SQLite简介 129
5.3.2 管理和操作SQLite数据库的对象 131
5.3.3 数据操作 132
5.3.4 用数据库管理“移动点餐系统”中的菜单 140
第6章 Android系统的广播与服务 145
6.1 广播消息 145
6.1.1 广播概述 145
6.1.2 发送广播 146
6.1.3 接收广播 146
6.1.4 用广播来告知用户登录情况 150
6.2 服务简介 153
6.2.1 Service生命周期 153
6.2.2 Scrvicc使用方式 154
6.3 本地服务 156
6.3.1 服务的管理 156
6.3.2 多线程服务 161
6.3.3 服务的绑定 166
6.3.4 在“移动点餐系统”中用服务方式初始化菜单 170
6.4 远程服务 172
6.4.1 进程间的通信 172
6.4.2 服务的创建与调用 173
第7章 网络编程基础 181
7.1 网络编程基本知识 181
7.1.1 网络通信模型及结构 181
7.1.2 TCP/IP网络模型及协议 183
7.1.3 网络程序通信机制 185
7.2 在Android系统中操作WiFi 186
7.2.1 WifiManager类 186
7.2.2 在Android中控制WiFi 187
7.2.3 WifiInfo类 187
7.2.4 WiFi下获取IP与MAC地址 188
第8章 Socket编程 195
8.1 套接字 195
8.1.1 建立TCP套接字 195
8.1.2 建立UDI套接字 196
8.2 TCP传输编程 197
8.2.1 Socket类与ServerSocket类 197
8.2.2 使用TCP套接字传输数据 198
8.2.3 使用TCP进行手机文件传输 204
8.3 UDP传输编程 211
8.3.1 DatagramPacket类与DatagramSocket类 211
8.3.2 使用UDP套接字传输数据 212
8.3.3 使用UDP进行相片传输 215
8.4 使用无线局域网的“移动点餐系统” 217
8.4.1 “移动点餐系统”的PC服务器编程 217
8.4.2 “移动点餐系统”的Android客户端编程 229
第9章 HTTP编程 235
9.1 HTTP概述 235
9.2 URL处理 236
9.2.1 URL类的使用 236
9.2.2 URLConnection类的使用 239
9.2.3 HttpURLConnection的使用 240
9.2.4 用URL从互联网上下载文件 243
9.3 HttpClient使用方法 245
9.3.1 Apache HttpClient简介 245
9.3.2 HttpClient网络编程 245
9.3.3 使用JSON传输数据包 250
9.4 使用互联网的“移动点餐系统” 255
9.4.1 “移动点餐系统”的Web服务器编程 255
9.4.2 “移动点餐系统”的Android客户端编程 260
第10章 蓝牙传输编程 267
10.1 蓝牙概述 267
10.2 Android蓝牙API介绍 267
10.2.1 BluetoothAdapter类 268
10.2.2 BluetoothDevice类 268
10.2.3 BluetoothServerSocket类 269
10.2.4 BluetoothSocket类 269
10.3 Android蓝牙基本应用编程 269
10.3.1 蓝牙设备的查找与配对 269
10.3.2 蓝牙连接与数据传输 274
10.3.3 使用蓝牙传输的聊天程序 279
第11章 Android移动应用编程实践 285
11.1 实验1:搭建Android开发环境 285
11.2 实验2:Android应用程序及生命周期 285
11.3 实验3:Android用户界面设计 286
11.4 实验4:多个用户界面的程序设计 287
11.5 实验5:数据存储与访问 288
11.6 实验6:后台服务 289
11.7 实验7:WiFi网络操作 290
11.8 实验8:Socket网络编程 291
11.9 实验9:HTTP编程 291
11.10 实验10:蓝牙传输编程 292
第12章 Android移动应用编程课程设计 294
12.1 课程设计目的 294
12.2 题目及要求 294
12.3 考核方式 298
参考文献 299