第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 Studio开发环境 5
1.2.1 Android Studio概要 5
1.2.2安装JDK 6
1.2.3安装和启动Android Studio 8
1.2.4 Android SDK的下载、配置与升级 12
1.2.5 SDK下载国内镜像 14
1.2.6 Android SDK目录结构 15
1.3在Android Studio开发环境中使用Android 16
1.3.1打开 Android Studio项目 16
1.3.2 Eclipse项目的导入 16
1.3.3运行Android项目 19
1.4 Android四大组件 22
1.4.1 Activity 22
1.4.2 Service 23
1.4.3 BroadcastReceiver 23
1.4.4 ContentProvider 23
第2章 Android应用程序及生命周期 24
2.1创建“移动点餐系统”Android程序 24
2.1.1创建“移动点餐系统”项目 24
2.1.2剖析“移动点餐系统”项目结构 27
2.2“移动点餐系统”项目关键文件 30
2.2.1 layout目录中的activity_main.xml文件 30
2.2.2 AndroidManifest.xml文件 30
2.2.3 R.java文件 32
2.2.4 src目录中的MainActivity.java文件 33
2.3 Android生命周期 34
2.3.1程序生命周期 34
2.3.2 Activity生命周期 35
2.4程序调试 40
2.4.1 LogCat 40
2.4.2程序跟踪 42
第3章 Android用户界面程序设计 45
3.1用户界面基础 45
3.2界面布局 46
3.2.1框架布局 46
3.2.2线性布局 47
3.2.3相对布局 48
3.2.4绝对布局 49
3.2.5表格布局 50
3.2.6网格布局 52
3.2.7布局的混合使用 52
3.3界面常用控件 53
3.3.1 TextView和EditView 53
3.3.2 Button和ImageButton 54
3.3.3 CheckBox和RadioButton 55
3.3.4 Spinner和ListView 58
3.3.5自定义列表 61
3.4“移动点餐系统”用户界面 65
3.4.1实体模型类设计 65
3.4.2主界面设计 69
3.4.3用户注册界面设计 74
3.4.4点餐菜单界面设计 79
第4章 多个用户界面的程序设计 84
4.1用户界面切换与传递参数 84
4.1.1传递参数的组件Intent 84
4.1.2启动另一个Activity 85
4.1.3 Activity间的数据传递 89
4.2消息提示 92
4.3对话框 93
4.3.1消息对话框 93
4.3.2普通对话框 94
4.4菜单 97
4.4.1选项菜单 97
4.4.2快捷菜单 99
4.5“移动点餐系统”多用户界面程序设计 101
4.5.1用户登录 101
4.5.2用户注册 106
4.5.3用户信息修改 107
4.5.4用户点餐 109
4.5.5选择通信方式 118
第5章 Android数据存储与访问 121
5.1简单存储 121
5.1.1 SharedPreferences 121
5.1.2 使用SharedPreferences存储用户登录信息 122
5.2文件存储 124
5.2.1内部存储 124
5.2.2外部存储 125
5.2.3编写一个文件存储访问类 129
5.2.4“移动点餐系统”中的文件操作 133
5.3数据库存储 139
5.3.1 SQLite简介 139
5.3.2管理和操作SQLite数据库的对象 140
5.3.3数据操作 141
5.3.4用数据库管理“移动点餐系统”中的菜单 149
第6章 Android系统的广播与服务 155
6.1广播消息 155
6.1.1广播概述 155
6.1.2发送广播 156
6.1.3接收广播 156
6.1.4用广播来告知用户登录情况 159
6.2服务简介 163
6.2.1 Service生命周期 163
6.2.2 Service使用方式 163
6.3本地服务 166
6.3.1服务的管理 166
6.3.2多线程服务 172
6.3.3服务的绑定 176
6.3.4在“移动点餐系统”中用服务方式初始化菜单 181
6.4远程服务 183
6.4.1进程间的通信 183
6.4.2服务的创建与调用 184
第7章 网络编程基础 192
7.1网络编程基本知识 192
7.1.1网络通信模型及结构 192
7.1.2 TCP/IP网络模型及协议 194
7.1.3网络程序通信机制 196
7.2在Android系统中操作WiFi 197
7.2.1 WifiManager类 197
7.2.2在Android中控制WiFi 198
7.2.3 WifiInfo类 198
7.2.4 WiFi下获取IP与MAC地址 199
第8章 Socket编程 206
8.1套接字 206
8.1.1建立TCP套接字 206
8.1.2建立UDP套接字 207
8.2 TCP传输编程 208
8.2.1 Socket类与ServerSocket类 208
8.2.2使用TCP套接字传输数据 209
8.2.3使用TCP进行手机文件传输 215
8.3 UDP传输编程 222
8.3.1 DatagramPacket类与DatagramSocket类 222
8.3.2使用UDP套接字传输数据 223
8.3.3使用UDP进行相片传输 226
8.4使用无线局域网的“移动点餐系统” 228
8.4.1“移动点餐系统”的PC服务器编程 228
8.4.2“移动点餐系统”的Android客户端编程 240
第9章 HTTP编程 246
9.1 HTTP概述 246
9.2 URL处理 247
9.2.1 URL类的使用 247
9.2.2 URLConnection类的使用 250
9.2.3 HttpURLConnection的使用 251
9.2.4用URL从互联网上下载文件 254
9.3 HttpClient使用方法 256
9.3.1 Apache HttpClient简介 256
9.3.2 HttpClient网络编程 256
9.3.3使用JSON传输数据包 261
9.4使用互联网的“移动点餐系统” 265
9.4.1“移动点餐系统”的Web服务器编程 265
9.4.2“移动点餐系统”的Android客户端编程 270
第10章 蓝牙传输编程 276
10.1蓝牙概述 276
10.2 Android蓝牙API介绍 276
10.2.1 BluetoothAdapter类 277
10.2.2 BluetoothDevice类 277
10.2.3 BluetoothServerSocket类 277
10.2.4 BluetoothSocket类 278
10.3 Android蓝牙基本应用编程 278
10.3.1蓝牙设备的查找与配对 278
10.3.2蓝牙连接与数据传输 283
10.3.3使用蓝牙传输的聊天程序 288
第11章 GPS应用与百度地图编程基础 294
11.1百度地图概述 294
11.2支持GPS的核心API 294
11.3百度地图开发过程 295
11.3.1申请密钥 295
11.3.2在Android Studio中配置开发环境 299
11.3.3 Hello BaiduMap 300
11.4基础地图 302
11.5百度定位功能 305
11.6百度定位开发过程 305
11.7百度地图检索 309
第12章 Android移动应用编程实践 317
12.1实验1:搭建Android开发环境 317
12.2实验2:Android应用程序及生命周期 317
12.3实验3:Android用户界面设计 318
12.4实验4:多个用户界面的程序设计 319
12.5实验5:数据存储与访问 320
12.6实验6:后台服务 321
12.7实验7:WiFi网络操作 322
12.8实验8:Socket网络编程 322
12.9实验9:HTTP编程 323
12.10实验10:蓝牙传输编程 324
12.11实验11:百度地图编程 324
第13章 Android移动应用编程课程设计 326
13.1课程设计目的 326
13.2题目及要求 326
13.3考核方式 330
参考文献 331