第1章 Android简介 1
1.1 Android背景 1
1.1.1 手机操作系统 1
1.1.2 Android的诞生 5
1.1.3 Android发展历程 7
1.2 Android特点 8
1.2.1 Android优点 9
1.2.2 Android缺点 10
1.3 Android发展趋势 10
1.4 思考与练习 11
第2章 Android开发环境搭建 12
2.1 Android开发软硬件要求 12
2.2 开发包及其工具的安装和配置 13
2.2.1 安装JDK和配置Java开发环境 13
2.2.2 Eclipse的安装 15
2.2.3 Android SDK和ADT插件的安装和配置 16
2.2.4 Android Studio安装 20
2.3 Android项目创建和运行 22
2.3.1 创建Android项目 22
2.3.2 模拟器创建和Android项目运行 23
2.3.3 Android项目管理 25
2.3.4 Android Studio项目创建及运行 27
2.4 思考与练习 29
第3章 Android开发Java基础 30
3.1 Java语言简介 30
3.2 结构化程序设计 31
3.2.1 数据类型 32
3.2.2 表达式 33
3.2.3 流程控制语句 35
3.2.4 综合案例 37
3.3 面向对象基本概念和应用 38
3.3.1 类与对象 39
3.3.2 继承与封装 43
3.3.3 抽象类和接口 48
3.3.4 包 51
3.3.5 异常处理 53
3.4 思考与练习 57
第4章 Android程序设计基础 60
4.1 Android程序结构 60
4.2 Android程序框架知识 65
4.2.1 Activity生命周期 65
4.2.2 Android组件 70
4.3 程序调试 72
4.3.1 ADB调试桥 72
4.3.2 Logcat调试 73
4.3.3 DevTools 76
4.4 思考与练习 78
第5章 用户界面开发 79
5.1 用户界面简介 79
5.2 界面布局 79
5.2.1 线性布局 79
5.2.2 框架布局 81
5.2.3 表格布局 82
5.2.4 相对布局 83
5.2.5 绝对布局 85
5.2.6 网格布局 85
5.3 界面控件 86
5.3.1 TextView和EditText 87
5.3.2 Button和ImageButton 89
5.3.3 CheckBox和RadioButtor 90
5.3.4 Spinner 93
5.3.5 ListView 95
5.4 事件处理 98
5.4.1 Android事件处理简介 98
5.4.2 匿名内部类作为监听器类 98
5.4.3 内部类作为事件监听器类 99
5.4.4 外部类作为事件监听器类 100
5.4.5 Activity本身作为事件监听器 101
5.5 Intent和IntentFilter 102
5.6 对话框 108
5.6.1 AlertDialog创建对话框 108
5.6.2 PopupWindow的使用 109
5.6.3 DatePickerDialog、TimePickerDialog的使用 111
5.6.4 ProgressDialog进度对话框的创建 114
5.7 菜单 116
5.7.1 选项菜单 116
5.7.2 子菜单 118
5.7.3 上下文菜单 120
5.8 思考与练习 121
第6章 Service和Broadcast广播消息 123
6.1 Service简介 123
6.2 Service实现 125
6.2.1 创建Service 125
6.2.2 启动和绑定Service 126
6.2.3 停止Service 127
6.3 Broadcast广播消息 132
6.4 思考与练习 135
第7章 Android图形图像和多媒体开发 136
7.1 图形 136
7.1.1 Canvas画布简介 136
7.1.2 Canvas常用绘制方法 136
7.1.3 Canvas绘制的辅助类 140
7.2 图像 143
7.2.1 Drawable和ShapeDrawable通用绘图类 143
7.2.2 Bitmap和BitmapFactory图像类 146
7.3 音频和视频 149
7.3.1 Media Player播放音频 149
7.3.2 Media Recorder录音 152
7.3.3 Video View播放视频 155
7.4 OpenGL ES编程 159
7.4.1 OpenGLES简介 159
7.4.2 视图 159
7.4.3 3D空间中绘图 161
7.4.4 颜色 166
7.5 多媒体综合应用 167
7.6 思考与练习 171
第8章 Android数据存储 173
8.1 数据存储简介 173
8.2 SharedPreferences数据存储 174
8.3 Files数据存储 177
8.4 Android数据库编程 180
8.4.1 SQLite简介 180
8.4.2 SQLite编程 182
8.4.3 SQLiteOpenHelper应用 185
8.5 数据共享 187
8.6 数据存储示例 197
8.7 思考与练习 202
第9章 Android网络与通信编程 203
9.1 Android网络基础 203
9.1.1 标准Java接口 203
9.1.2 Apache接口 204
9.1.3 Android网络接口 205
9.2 HTTP通信 205
9.2.1 HttpURLConnection接口 206
9.2.2 HttpClient接口 211
9.3 Socket通信 214
9.3.1 Socket基础原理 214
9.3.2 Socket示例 218
9.4 Wi-Fi通信 221
9.4.1 Wi-Fi介绍 221
9.4.2 Wi-Fi示例 225
9.5 思考与练习 227
第10章 综合案例一:智能农苑助手 228
10.1 项目分析 228
10.1.1 UI界面规划 228
10.1.2 数据存储设计 229
10.2 系统实现 229
10.2.1 创建项目 229
10.2.2 界面设计 230
10.2.3 天气系统 240
10.2.4 网络通信服务 242
10.2.5 图形图像处理 243
10.2.6 数据存取 245
10.2.7 Service服务 248
10.3 应用程序的发布 249
10.3.1 添加广告 249
10.3.2 生成签名文件 253
10.3.3 使用签名文件 254
10.3.4 发布应用 255
10.4 思考与练习 257
第11章 综合案例二:家庭理财助手 258
11.1 系统功能 258
11.1.1 概述 258
11.1.2 系统功能预览 258
11.2 数据库设计 262
11.2.1 数据库设计基础 262
11.2.2 数据库操作类 264
11.3 主界面设计 266
11.3.1 主界面布局 266
11.3.2 主控类的整体框架 269
11.3.3 主控类方法 272
11.4 辅助工具类 280
11.4.1 数据格式类 280
11.4.2 常量类 280
11.4.3 广告类 282
11.5 数据操作方法 283
11.6 思考与练习 291
附录 292
附录A Android课程及开发资源 292
附录B AndroidManifest文件说明 293
参考文献 298