本書系統(tǒng)介紹了Android應用開發(fā)技術的基本理論、方法及實踐應用,涵蓋了Android簡介與應用開發(fā)環(huán)境搭建、Android布局管理器、Android常用控件、Activity與Intent、Android高級控件、Android數(shù)據(jù)存儲與處理、ContentProvider、Service與IntentService、BroadcastReceiver以及網(wǎng)絡編程共10章內容。每章均配有對應的拓展實踐及習題。這些拓展實踐均已經(jīng)過驗證,簡明易學,邏輯清晰,可操作性強。 本書既可作為高等院校計算機專業(yè)相關課程的教材,又可作為Android應用開發(fā)興趣愛好者的參考書。
張淑榮,廣東白云學院大數(shù)據(jù)與計算機學院系主任。主要著作出版情況:《計算機網(wǎng)絡基礎與實踐》,電子工業(yè)出版社,2023年;《計算機英語(第二版)》,化學工業(yè)出版社,2014年;《計算機英語》,化學工業(yè)出版社,2009年。
第1章 Android簡介與應用開發(fā)環(huán)境
搭建 1
1.1 Android簡介 1
1.1.1 Android的由來 1
1.1.2 Android的發(fā)展歷程 2
1.1.3 Android的應用領域 4
1.1.4 Android的體系結構 5
1.2 Android應用開發(fā)環(huán)境的搭建 6
1.2.1 安裝Android Studio 6
1.2.2 創(chuàng)建模擬器 11
1.2.3 升級管理SDK 13
1.3 第一個Android項目的開發(fā) 14
1.4 資源的管理和引用 18
1.4.1 資源的種類 19
1.4.2 管理和引用資源的方法 19
本章小結 23
拓展實踐 23
本章習題 24
第2章 Android 布局管理器 25
2.1 布局概述 25
2.1.1 View與ViewGroup 25
2.1.2 布局規(guī)范 30
2.2 布局管理器 31
2.2.1 LinearLayout 31
2.2.2 RelativeLayout 34
2.2.3 TableLayout 37
2.2.4 GridLayout 42
2.2.5 FrameLayout 45
2.2.6 ConstraintLayout 46
2.2.7 嵌套布局 49
本章小結 55
拓展實踐 55
本章習題 56
第3章 Android常用控件 58
3.1 文本控件 59
3.1.1 TextView 59
3.1.2 EditText 61
3.1.3 AutoCompleteTextView 64
3.2 按鈕控件 68
3.2.1 Button 68
3.2.2 ToggleButton與Switch 75
3.3 Toast 80
3.4 圖形圖像控件 84
3.4.1 ImageView 84
3.4.2 ImageSwitcher 87
3.5 選擇控件 92
3.5.1 RadioButton與
RadioGroup 92
3.5.2 CheckBox 100
本章小結 103
拓展實踐 103
本章習題 104
第4章 Activity與Intent 106
4.1 Activity簡介 106
4.2 Activity的配置與創(chuàng)建 107
4.2.1 配置Activity 107
4.2.2 創(chuàng)建Activity 112
4.3 Activity的生命周期 114
4.3.1 生命周期簡介 114
4.3.2 生命周期的概念 115
4.3.3 生命周期的回調 116
4.3.4 在Activity之間切換 120
4.4 Activity的啟動模式 122
4.4.1 任務與Activity 122
4.4.2 使用清單文件 124
4.4.3 使用Intent標記 125
4.5 Intent 125
4.5.1 Intent簡介 125
4.5.2 Intent的類型 126
4.5.3 構建Intent 127
4.5.4 接收隱式Intent 129
4.6 Fragment 129
4.6.1 Fragment簡介 129
4.6.2 創(chuàng)建與使用Fragment 131
4.6.3 Fragment的生命周期 134
本章小結 135
拓展實踐 135
本章習題 136
第5章 Android高級控件 138
5.1 容器 138
5.1.1 Spinner 138
5.1.2 ListView 146
5.1.3 RecyclerView 153
5.1.4 ViewPager 160
5.2 菜單 169
5.2.1 選項菜單 170
5.2.2 上下文菜單 173
5.3 對話框 174
5.3.1 普通對話框 174
5.3.2 選項對話框 176
5.3.3 自定義對話框 177
本章小結 179
拓展實踐 180
本章習題 180
第6章 Android數(shù)據(jù)存儲與處理 182
6.1 Android 數(shù)據(jù)存儲方式 182
6.2 SharedPreferences 數(shù)據(jù)存儲與
處理 183
6.2.1 SharedPreferences的
寫入 184
6.2.2 SharedPreferences的
讀取 186
6.3 SQLite數(shù)據(jù)存儲與處理 186
6.3.1 SQLite概述 187
6.3.2 SQLiteOpenHelper 191
6.3.3 SQLiteDatabase 198
6.3.4 分層結構與DAO模式 204
本章小結 213
拓展實踐 213
本章習題 214
第7章 215
ContentProvider 215
7.1 ContentProvider簡介 215
7.1.1 ContentProvider的
重要性和應用場景 215
7.1.2 ContentProvider的
基本概念和工作原理 216
7.2 使用ContentProvider共享
數(shù)據(jù) 218
7.2.1 Uri簡介 218
7.2.2 創(chuàng)建ContentProvider 220
7.2.3 設置權限 224
7.3 使用ContentResolver操作
數(shù)據(jù) 225
7.3.1 ContentResolver簡介 225
7.3.2 使用ContentResolver 226
7.4 使用ContentObserver監(jiān)聽
數(shù)據(jù) 227
7.4.1 ContentObserver簡介 227
7.4.2 使用ContentObserver 228
本章小結 229
拓展實踐 230
本章習題 230
第8章 Service與IntentService 232
8.1 Service 232
8.1.1 Service的類型 232
8.1.2 創(chuàng)建Service 234
8.1.3 Service的屬性 235
8.1.4 創(chuàng)建啟動型Service 237
8.1.5 停止啟動型Service 237
8.1.6 創(chuàng)建綁定型Service 238
8.1.7 擴展Binder 239
8.1.8 使用 Messenger 241
8.1.9 綁定到Service 245
8.2 IntentService 246
8.2.1 ANR 246
8.2.2 IntentService簡介 247
8.2.3 使用IntentService 248
本章小結 252
拓展實踐 252
本章習題 253
第9章 BroadcastReceiver 254
9.1 發(fā)送與監(jiān)聽廣播 254
9.1.1 BroadcastReceiver簡介 254
9.1.2 創(chuàng)建BroadcastReceiver 254
9.1.3 注冊BroadcastReceiver 256
9.1.4 發(fā)送Broadcast 257
9.2 管理事件 258
9.2.1 EventBus架構 259
9.2.2 使用EventBus 260
9.3 創(chuàng)建桌面應用 261
9.3.1 App Widget簡介 261
9.3.2 App Widget布局設計 263
9.3.3 實現(xiàn)
AppWidgetProviderInfo 264
9.3.4 拓展
AppWidgetProvider 264
9.3.5 聲明App Widget 266
9.3.6 實現(xiàn)Configuration
Activity 266
本章小結 271
拓展實踐 272
本章習題 272
第10章 網(wǎng)絡編程 274
10.1 HTTP與網(wǎng)絡連接 274
10.1.1 HTTP簡介 274
10.1.2 HTTP請求 277
10.1.3 HTTP響應 278
10.1.4 使用
HttpURLConnection 279
10.2 前后端分離架構與JSON
協(xié)議 281
10.2.1 前后端分離架構 281
10.2.2 JSON協(xié)議 283
10.2.3 RESTful API 288
10.3 OkHttp網(wǎng)絡編程 293
10.3.1 使用OkHttp 293
10.3.2 網(wǎng)絡編程與多線程 298
本章小結 305
拓展實踐 305
本章習題 306
參考文獻 308