第1章 Android概述... 1
1.1 了解Android. 1
1.1.1 Android起源与发展... 1
1.1.2 开放手持设备联盟... 3
1.1.3 Android市场占有率... 3
1.2 Android版本... 4
1.2.1 Android版本简介... 5
1.2.2 Android各版本市场份额... 8
1.3 Android的特征... 9
1.4 Android系统架构... 10
1.4.1 应用程序层... 10
1.4.2 应用程序架构层... 11
1.4.3 系统运行时库层... 11
1.4.4 Linux内核层... 13
1.5 Android四大组件... 14
1.5.1 Activity. 14
1.5.2 Service. 15
1.5.3 Broadcast Receiver 15
1.5.4 Content Provider 15
1.6 Android程序生命周期... 15
习题1. 17
第2章 构建Android程序... 18
2.1 Android项目创建... 18
2.2 Android目录结构... 20
2.3 Android项目资源... 24
2.3.1 创建资源... 24
2.3.2 使用资源... 25
2.3.3 资源本地化... 27
2.4 Gradle详解... 28
2.5 项目调试与运行... 29
2.5.1 Android项目运行... 29
2.5.2 Android项目调试... 31
习题2. 33
第3章 初级UI 34
3.1 Android UI基本概念... 34
3.2 基本控件... 35
3.2.1 TextView.. 35
3.2.2 Button和ImageButton. 37
3.2.3 EditText 40
3.3 Layout组件... 43
3.3.1 FrameLayout 44
3.3.2 LinearLayout 45
3.3.3 RelativeLayout 47
3.3.4 TableLayout 50
3.3.5 GridLayout 52
3.3.6 Layout布局小结... 54
3.4 复合按钮... 55
3.4.1 CheckBox. 55
3.4.2 RadioButton. 56
3.4.3 ToggleButton. 56
习题3. 57
第4章 Activity与Fragment 58
4.1 Activity详解... 58
4.2 Activity的生命周期... 60
4.2.1 Activity栈... 60
4.2.2 Activity状态... 61
4.2.3 Activity的生存期... 61
4.3 Activity启动模式... 63
4.4 Fragment详解... 66
4.5 Fragment的生命周期... 69
4.5.1 Fragment的状态... 69
4.5.2 Fragment的生命周期方法... 70
4.6 Fragment与Activity间通信... 71
习题4. 73
第5章 高级UI 74
5.1 Toast和Dialog. 74
5.1.1 Toast 74
5.1.2 Dialog. 77
5.2 Spinner 83
5.3 ListView.. 90
5.4 Menu. 92
5.5 Style和Theme. 102
5.5.1 使用Style. 102
5.5.2 继承Style. 103
5.5.3 使用Theme. 104
5.5.4 继承Theme. 105
习题5. 106
第6章 Intent与Broadcast 107
6.1 使用Intent启动Activity. 107
6.1.1 显式Intent 107
6.1.2 隐式Intent 108
6.2 使用Intent实现Activity间数据传递... 110
6.2.1 向下一个Activity传值... 110
6.2.2 获取上一个Activity的返回值... 111
6.3 使用Intent广播事件... 124
6.4 监听广播... 125
习题6. 127
第7章 Service与多线程... 128
7.1 创建Service. 128
7.2 启动和停止服务... 129
7.3 IntentService. 132
7.4 Android多线程编程与消息机制... 134
7.4.1 Android多线程编程... 134
7.4.2 Android消息机制... 136
7.4.3 使用AsyncTask. 139
7.4.4 线程池... 142
习题7. 146
第8章 数据持久化技术和ContentProvider. 147
8.1 SharedPreference. 147
8.1.1 获取SharedPreferences对象方法... 147
8.1.2 写入SharedPreferences 148
8.1.3 从SharedPreferences读取信息... 148
8.2 文件... 149
8.2.1 内部存储... 149
8.2.2 外部存储... 151
8.2.3 资源文件的读取... 156
8.3 SQLite. 159
8.3.1 数据库创建... 160
8.3.2 数据库操作... 161
8.4 ContentProvider简介... 165
8.4.1 ContentProvider的角色... 166
8.4.2 ContentResolver 166
8.4.3 ContentProvider中的URI 167
8.4.4 数据共享的实现... 168
习题8. 176
第9章 网络编程... 177
9.1 基于Socket的网络编程... 178
9.1.1 UDP套接字... 179
9.1.2 TCP套接字... 180
9.2 基于HTTP的网络编程... 189
9.3 WebView.. 193
习题9. 197
第10章 实战项目——2048游戏... 198
10.1 创建项目并编写界面样式... 198
10.2 定义方块样式与行为... 199
10.3 编写MainActivity. 203
附录A.. 212
参考文献................................................................................................................ 221