第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