第1章 Android软件开发起步 1
1.1智能移动设备及其操作系统 1
1.2Android系统的体系结构 3
1.2.1Android系统简介 3
1.2.2Android系统的总体架构 3
1.2.3Android SDK简介 5
1.3Java语言与面向对象编程基础 7
1.3.1配置Java开发环境 7
1.3.2Java程序的开发过程 8
1.3.3Java程序的结构 10
1.3.4Java的数据类型和运算符 12
1.3.5Java的流程控制语句 14
1.3.6数组 16
1.3.7泛型 18
1.3.8面向对象的编程方法 19
1.3.9异常处理 23
1.4XML基础 23
1.4.1XML简介 23
1.4.2XML的用途 26
1.4.3XML文档的结构 26
1.4.4XML语法 27
1.4.5XML命名空间 31
1.5编写规范的Android代码 33
1.6本章小结 34
习题 34
第2章 创建第一个Android应用程序 37
2.1搭建Android应用程序开发环境 37
2.1.1Android Studio简介 37
2.1.2Android Studio的安装 38
2.1.3创建和启动Android虚拟设备 41
2.1.4Android Studio的更新与设置 44
2.2创建第一个Android应用程序 51
2.2.1创建Android工程项目 51
2.2.2编译和运行Android应用程序 54
2.3Android Studio工程项目的文件构成 56
2.3.1java文件夹 56
2.3.2res文件夹 58
2.3.3应用程序配置文件AndroidManifest.xml 60
2.3.4Gradle文件 62
2.4开发Android应用软件的一般流程 64
2.4.1开发Android应用软件的一般流程 64
2.4.2APK文件的签名和打包 66
2.5程序调试的常用方法和调试工具 68
2.5.1使用Android Studio的调试器 68
2.5.2图形化调试工具DDMS 70
2.5.3查看工程项目在运行过程中的日志信息 71
2.6本章小结 73
习题 73
第3章 Activity的界面布局 74
3.1Activity及其生命周期 74
3.1.1Android应用的基本组件 74
3.1.2什么是Activity 75
3.1.3Activity的生命周期 76
3.1.4Activity的启动模式 80
3.1.5Context及其在Activity中的应用 83
3.2布局文件及其加载 83
3.2.1View类和ViewGroup类 84
3.2.2XML布局及其加载 85
3.2.3在Activity中定义和引用布局 86
3.2.4资源的管理与使用 87
3.3界面元素的常用属性 93
3.3.1控件ID及其使用 93
3.3.2布局尺寸参数及其使用 94
3.3.3XML常用布局控件的标签及属性 95
3.4常用的布局 96
3.4.1线性布局LinearLayout 96
3.4.2绝对布局AbsoluteLayout 99
3.4.3相对布局RelativeLayout 100
3.4.4表格布局TableLayout 102
3.4.5帧布局FrameLayout 104
3.5本章小结 107
习题 107
第4章 常用界面控件及其应用 108
4.1Widget控件概述 108
4.2Android的事件处理机制 108
4.2.1基于监听接口的事件处理方式 109
4.2.2基于回调机制的事件处理 113
4.2.3直接绑定到XML标签的事件处理方法 116
4.3文本的输入和输出 118
4.3.1TextView 118
4.3.2EditText 119
4.3.3AutoCompleteTextView 122
4.3.4Toast 124
4.4单选按钮和复选框 126
4.4.1RadioButton和RadioGroup 126
4.4.2CheckBox 129
4.5列表 131
4.6下拉列表选择框 138
4.7本章小结 140
习题 140
第5章 对话框、菜单和状态栏消息 142
5.1对话框 142
5.1.1提示对话框AlterDialog 143
5.1.2进度条对话框ProcessDialog 149
5.1.3日期和时间选择对话框 151
5.2菜单 155
5.2.1使用XML资源定义菜单项 156
5.2.2创建菜单 157
5.2.3响应和处理菜单项的点击 160
5.2.4上下文菜单 161
5.3状态栏消息Notification 163
5.4本章小结 168
习题 168
第6章 Fragment及其应用 169
6.1Fragment的基本概念 169
6.1.1Fragment简介 169
6.1.2Fragment的生命周期 170
6.2创建和载入Fragment 176
6.2.1创建Fragment 176
6.2.2将Fragment加载到Activity中 177
6.3利用Fragment实现界面的切换 181
6.4利用Fragment实现侧滑菜单 184
6.4.1主视图的布局 184
6.4.2侧滑菜单的布局和菜单事件的响应 185
6.4.3使用Android Studio提供的模板实现侧滑菜单 189
6.5利用Fragment实现Tabbed Activity 192
6.6本章小结 193
习题 193
第7章 线程与消息处理 195
7.1基本概念 195
7.1.1进程与线程 195
7.1.2创建线程 197
7.1.3操作线程 199
7.1.4线程的状态和生命周期 200
7.2Android的UI线程与非UI线程 201
7.2.1单线程和多线程 201
7.2.2非UI线程访问UI对象 202
7.3Android多线程通信机制 204
7.3.1线程间通信的常用类 204
7.3.2使用Handler实现线程间通信 207
7.3.3使用AsyncTask实现线程间通信 213
7.4本章小结 217
习题 217
第8章 Service与BroadcastReceiver 218
8.1Android组件间的通信 218
8.1.1Intent 218
8.1.2Activity之间的切换和跳转 222
8.2Service及其生命周期 232
8.2.1Service简介 232
8.2.2Service的生命周期 233
8.3创建、启动和停止Service 234
8.3.1创建Service 234
8.3.2启动和停止Service 236
8.3.3Activity与Service的通信 239
8.3.4将Service绑定到Activity 241
8.4Android的广播机制 246
8.4.1广播的发送和接收 246
8.4.2静态注册Broad castReceiver 247
8.4.3动态注册BroadcastReceiver 250
8.4.4有序广播的发送和接收 252
8.5本章小结 255
习题 255
第9章 数据的存储与访问 256
9.1基于SharedPref erences的数据存取 256
9.2数据文件的存取 260
9.2.1读取assets和raw文件夹中的文件 260
9.2.2对内部文件的存取操作 261
9.2.3对外部文件的存取操作 266
9.3SQLite及其数据管理机制 272
9.3.1SQLite概述 272
9.3.2SQLiteOpenHelper、SQLiteDatabase和Cursor类 273
9.3.3创建数据库和数据表 274
9.3.4操纵数据库中的数据 277
9.4基于ContentProvider的数据存取 285
9.4.1ContentProvider 285
9.4.2定义和使用ContentProvider 285
9.5本章小结 289
习题 290
第10章 多媒体应用开发 291
10.1音视频文件的播放 291
10.1.1MediaPlayer类 291
10.1.2使用MediaPlayer播放音频文件 294
10.1.3使用MediaPlayer播放视频文件 297
10.1.4利用系统内置的播放器程序播放音频和视频 299
10.1.5使用VideoView播放视频 302
10.2音视频文件的录制 305
10.2.1MediaRecorder类 305
10.2.2使用MediaRecorder录制音视频 306
10.3基于Camera类的图片摄取 310
10.3.1Camera类 310
10.3.2利用Camera类实现图片的摄取 311
10.3.3利用系统内置的Camera应用实现图片的摄取 317
10.4本章小结 318
习题 318
第11章 Web应用开发 320
11.1Android网络通信概述 320
11.2网络资源的访问 322
11.2.1使用HTTP的GET方式访问网络 322
11.2.2使用HTTP的POST方式访问网络 324
11.2.3使用HttpURLConnection访问网络 326
11.2.4使用Socket进行网络通信 330
11.3WebView 333
11.3.1WebView的基本用法 334
11.3.2WebView的参数设置 334
11.3.3WebView应用实例 338
11.4本章小结 340
习题 341
第12章 综合应用实例 342
12.1计算器APP 342
12.1.1功能分析 342
12.1.2界面布局设计 342
12.1.3实现运算的类 346
12.1.4界面功能的实现 350
12.1.5实现基于SharedPreferences的数据存取 353
12.1.6菜单设计 354
12.2待办事项提醒小助手 358
12.2.1功能分析 358
12.2.2创建数据库 359
12.2.3界面设计和功能实现 360
12.2.4定时推送状态栏提醒 377
12.2.5菜单设计 379
12.3本章小结 382
习题 382
参考文献 384