Android 移動應用開發 (微課版)
李維勇 劉新娥
相關主題
商品描述
本書基於Android 10和Android Studio 4.1集成開發環境編寫,系統地介紹Android移動應用開發的基礎知識。
本書共14章,分別介紹了認識Android、創建Android項目、設計用戶界面、UI控件設計、Activity與Fragment、列表與適配器、菜單與對話框設計、線程間的通信與異步機制、Android本地存儲、Service與後台服務設計、BroadcastReceiver與廣播通信、ContentProvider與應用間數據共享、網絡連接與管理、Android性能分析與測試。
本書以任務貫穿全程,結構清晰、語言簡潔,易於學習,非常適合初學Android的在校學生和希望系統掌握Android編程技能的開發人員閱讀。
作者簡介
李维勇
南京信息职业技术学院网络与通信学院 副书记 副院长
副教授 系统分析师
研究方向:移动互联应用技术、云服务应用技术
中国计算机学会职业教育发展委员会委员,江苏省高校“青蓝工程”云计算技术与应用优秀教学团队成员,中国软件杯大学生软件设计大赛一等奖指导教师,俄罗斯喀山未来技能大赛移动应用开发赛项专家。
目錄大綱
目錄
第 1章 認識Android 1
1.1 Android簡介 1
1.1.1 Android的由來 1
1.1.2 Android的發展歷程 2
1.1.3 Android的應用領域 3
1.2 Android學習指導 4
1.2.1 為什麽要學習Android 4
1.2.2 Android的學習路徑 4
1.2.3 Android的學習資源 5
任務1.1 搭建Android集成開發環境 7
1.3 Android Studio使用入門 7
1.3.1 Android Studio快速入門 7
1.3.2 配置Android Studio 9
1.3.3 Android SDK升級管理 12
本章小結 13
動手實踐 13
第 2章 創建Android項目 14
任務2.1 使用向導創建Android項目 14
2.1 Android項目架構解析 16
2.1.1 Android的項目組成 16
2.1.2 項目文件解析 19
2.1.3 清單文件解析 21
任務2.2 設計App閃屏界面 22
2.2 Android資源配置與管理 23
2.2.1 資源的種類 23
2.2.2 引用資源 24
2.2.3 管理資源 26
任務2.3 托管項目至GitHub 29
2.3 Android代碼調試 30
2.3.1 Logcat與系統日誌 30
2.3.2 啟動調試 32
2.3.3 執行調試 33
本章小結 34
動手實踐 34
第3章 設計用戶界面 35
3.1 認識佈局 35
3.1.1 UI概覽 35
3.1.2 佈局規範 37
3.2 創建佈局 38
3.2.1 創建XML佈局文件 38
3.2.2 可視化界面編輯器 39
3.2.3 視圖基本屬性與事件 41
任務3.1 設計App登錄界面 43
3.3 佈局設計 43
3.3.1 線性佈局 44
3.3.2 約束佈局 45
任務3.2 設計App“我”界面 48
3.4 優化佈局 49
3.4.1 復用佈局 49
3.4.2 Layout Inspector 51
本章小結 52
動手實踐 52
第4章 UI控件設計 53
4.1 文本控件設計 53
4.1.1 控件設計基本步驟 53
4.1.2 TextView 54
4.1.3 EditText 55
4.1.4 AutoCompleteTextView和MultiAuto
CompleteTextView 56
4.2 按鈕控件設計 58
4.2.1 Button 58
4.2.2 ToggleButton 61
4.3 圖像控件設計 62
4.3.1 ImageView 62
4.3.2 ImageSwitcher 64
任務4.1 設計相冊大圖輪播界面 65
4.4 選擇控件和開關控件設計 66
4.4.1 RadioButton與RadioGroup 66
4.4.2 CheckBox 67
4.4.3 Switch 68
4.5 進度條控件設計 69
4.5.1 ProgressBar 69
4.5.2 SeekBar 70
任務4.2 設計音樂播放器播放界面 71
本章小結 71
動手實踐 72
第5章 Activity與Fragment 73
5.1 初識Activity 73
5.1.1 Activity的創建與註冊 74
5.1.2 Activity的生命周期 76
5.1.3 用戶界面的跳轉及數據傳遞 79
任務5.1 設計App註冊界面並跳轉到登錄界面 84
5.2 Fragment佈局 85
5.2.1 初識Fragment 85
5.2.2 Fragment的創建與引用 86
5.2.3 Fragment的管理 89
5.2.4 Fragment與Activity通信 93
任務5.2 設計App引導頁面 95
5.3 Intent與應用間的通信 96
5.3.1 初識Intent 96
5.3.2 Intent對象 97
5.3.3 Intent解析 100
本章小結 104
動手實踐 104
第6章 列表與適配器 106
6.1 適配器設計 106
6.1.1 初識適配器 106
6.1.2 常用適配器設計 107
6.1.3 適配器應用 114
任務6.1 設計音樂播放器歌曲列表界面 118
6.2 CardView與RecyclerView 119
6.2.1 CardView 119
6.2.2 RecyclerView 120
6.2.3 RecyclerView+SwipeRefreshLayout應用 126
任務6.2 設計App“通訊錄”界面 130
6.3 ViewPager與PagerAdapter 131
6.3.1 ViewPager 131
6.3.2 PagerAdapter 133
6.3.3 TabLayout+ViewPager+Fragment
應用 135
本章小結 139
動手實踐 139
第7章 菜單與對話框設計 140
7.1 菜單設計 140
7.1.1 初識菜單 140
7.1.2 創建菜單資源 141
7.1.3 設計選項菜單 144
7.1.4 設計側滑菜單 146
任務7.1 設計音樂播放器菜單 149
7.2 對話框設計 150
7.2.1 消息設計 150
7.2.2 對話框設計 151
7.2.3 通知設計 154
7.3 應用欄設計 159
7.3.1 初識應用欄 159
7.3.2 創建應用欄 159
7.3.3 設置應用欄 160
7.3.4 CoordinatorLayout+AppBarLayout應用 164
任務7.2 設計音樂播放器歌手詳情界面 166
本章小結 167
動手實踐 167
第8章 線程間的通信與異步機制 168
8.1 應用程序的消息處理機制 168
8.1.1 線程與單線程模型 168
8.1.2 Handler消息傳遞機制 170
8.1.3 Thread+Handler+Message應用 174
任務8.1 實現音樂播放器本地音樂的異步加載功能 177
8.2 異步任務封裝類 178
8.2.1 HandlerThread 178
8.2.2 AsyncTask 182
本章小結 186
動手實踐 186
第9章 Android本地存儲 187
9.1 SharedPreferences與PreferenceFragment 187
9.1.1 使用SharedPreferences存取數據 188
9.1.2 使用PreferenceFragment設計設置界面 189
任務9.1 設計App“通用”設置界面 196
9.2 Android文件存儲 197
9.2.1 內部文件存儲 197
9.2.2 外部文件存儲 200
9.3 SQLite數據庫存儲 204
9.3.1 SQLite與SQLiteDatabase 205
9.3.2 SQLiteOpenHelper 210
9.3.3 使用Loader異步加載數據 212
任務9.2 保存音樂播放器播放記錄 215
本章小結 216
動手實踐 216
第 10章 Service與後台服務設計 217
10.1 創建Service 217
10.1.1 初識Service 217
10.1.2 Service的創建與註冊 218
10.1.3 Service的生命周期 219
10.2 IntentService 221
10.3 綁定型Service 222
10.3.1 綁定型Service的主要用途 222
10.3.2 綁定到Service 223
10.3.3 使用Messenger通信 225
任務10.1 實現音樂播放器後台播放功能 228
10.4 Android接口定義語言 228
10.4.1 創建AIDL 228
10.4.2 實現接口 231
10.4.3 公開接口 231
10.4.4 通過IPC傳遞對象 232
10.4.5 調用IPC方法 234
本章小結 236
動手實踐 237
第 11章 BroadcastReceiver與廣播通信 238
11.1 發送與監聽廣播 238
11.1.1 初識BroadcastReceiver 238
11.1.2 創建BroadcastReceiver 239
11.1.3 註冊廣播 240
11.1.4 發送廣播 241
11.2 EventBus事件管理 242
11.2.1 EventBus的架構 242
11.2.2 EventBus的使用 243
任務11.1 實現音樂播放器後台播放的控制 245
11.3 使用App Widgets創建桌面應用 245
11.3.1 認識App Widgets 245
11.3.2 設計App Widgets佈局 246
11.3.3 實現AppWidgetProviderInfo 247
11.3.4 擴展AppWidgetProvider 248
11.3.5 聲明App Widgets 251
11.3.6 實現Configuration Activity 251
任務11.2 實現音樂播放器桌面應用 252
本章小結 253
動手實踐 253
第 12章 ContentProvider與應用間數據共享 254
12.1 訪問系統ContentProvider 254
12.1.1 初識ContentProvider 254
12.1.2 查詢ContentProvider 255
12.1.3 修改ContentProvider中的數據 257
12.2 自定義ContentProvider 258
12.2.1 自定義ContentProvider的步驟 258
12.2.2 設計數據存儲 259
12.2.3 設計內容URI 260
12.2.4 實現ContentProvider 264
12.3 存儲訪問框架 267
12.3.1 初識SAF 267
12.3.2 SAF數據模型 268
12.3.3 編寫客戶端應用 269
任務12.1 實現微信朋友圈導入本地相冊 273
12.4 使用ContentObserver監聽數據變化 274
12.4.1 初識ContentObserver 274
12.4.2 實現ContentObserver 274
12.4.3 觀察URI 274
本章小結 276
動手實踐 276
第 13章 網絡連接與管理 277
13.1 使用ConnectivityManager管理網絡 277
13.1.1 初識ConnectivityManager 277
13.1.2 網絡接入管理 278
13.1.3 監聽網絡連接狀態 280
13.2 使用HttpURLConnection訪問網絡 281
13.2.1 HTTP 281
13.2.2 HttpURLConnection的特點 283
13.2.3 創建HttpURLConnection連接 284
13.2.4 HttpURLConnection數據交換 286
任務13.1 實現音樂播放器搜索網絡音樂 290
13.3 JSON數據解析 290
13.3.1 JSON與XML對比 290
13.3.2 JSON數據結構 292
13.3.3 解析JSON 294
任務13.2 實現音樂播放器加載歌詞 301
本章小結 301
動手實踐 302
第 14章 Android性能分析與測試 303
14.1 應用性能分析 303
14.1.1 啟動Android Profiler 303
14.1.2 檢查CPU活動 304
14.1.3 查看堆和內存分配 306
14.1.4 檢查網絡流量 307
14.2 測試應用 309
14.2.1 測試概述 309
14.2.2 單元測試 310
14.2.3 界面測試 313
任務14.1 對音樂播放器基於MTC測試 315
本章小結 316
動手實踐 316