《Android套用開發項目化教程》是2017年3月北京航空航天大學出版社出版的圖書,作者是李維勇。
基本介紹
- 書名:Android套用開發項目化教程
- 作者:李維勇
- ISBN:9787512406391
- 定價:45元
- 出版社:北京航空航天大學出版社
- 出版時間:2017年3月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
本書根據Android7.xNougat平台的架構和特點進行編寫。通過基於AndroidStudio集成開發環境實現手機檔案管理器套用,來全面介紹Android平台開發的基礎知識。這些知識包括:創建和管理Android項目的方法,以及基於MaterialDesign設計語言構建用戶界面的設計模式;Android中Activity、Service、BroadcastReceiver和ContentProvider四大組件的使用,以及使用Intent在組件間通信的方法;Android平台下數據存儲、異步任務、網路編程等知識,以及Android中的單元測試及混淆和打包套用的方法,通過案例程式完成Android知識的講解。
本書以案例貫穿始終,知識結構清晰、語言簡潔,並配有基於混合學習模式的課程平台,非常適合初學Android的在校大學生和希望系統掌握Android編程技能的技術人員閱讀和參考。
圖書目錄
任務1 創建Android項目……………………………………………………………………… 1
1.1 學習情境導入…………………………………………………………………………… 1
1.2 任務實現………………………………………………………………………………… 1
1.2.1 創建檔案管理器項目……………………………………………………………… 1
1.2.2 創建項目資源……………………………………………………………………… 8
1.3 核心知識講解…………………………………………………………………………… 9
1.3.1 AndroidStudio基本使用………………………………………………………… 9
1.3.2 Android項目結構………………………………………………………………… 14
1.3.3 應用程式資源……………………………………………………………………… 15
1.4 能力拓展………………………………………………………………………………… 20
1.4.1 調試Android項目……………………………………………………………… 20
1.4.2 Android項目管理………………………………………………………………… 23
1.5 項目實踐………………………………………………………………………………… 24
任務2 Activity創建與管理…………………………………………………………………… 25
2.1 學習情境導入…………………………………………………………………………… 25
2.2 任務實現………………………………………………………………………………… 25
2.2.1 設計閃屏界面……………………………………………………………………… 25
2.2.2 實現閃屏功能……………………………………………………………………… 28
2.3 核心知識講解…………………………………………………………………………… 31
2.3.1 創建Activity……………………………………………………………………… 31
2.3.2 Activity的生命周期……………………………………………………………… 31
2.3.3 Activity的調用…………………………………………………………………… 33
2.3.4 保存Activity的狀態……………………………………………………………… 37
2.4 能力拓展………………………………………………………………………………… 39
2.4.1 Activity棧與任務………………………………………………………………… 40
2.4.2 ActivityManager與PackageManager ………………………………………… 44
2.5 項目實踐………………………………………………………………………………… 46
任務3 布局與基本Widgets控制項設計……………………………………………………… 47
3.1 學習情境導入…………………………………………………………………………… 47
3.2 任務實現………………………………………………………………………………… 47
3.2.1 地址欄布局………………………………………………………………………… 47
3.2.2 檔案容器布局……………………………………………………………………… 50
3.2.3 返回鍵設計………………………………………………………………………… 51
3.3 核心知識講解…………………………………………………………………………… 52
3.3.1 視圖與布局………………………………………………………………………… 52
3.3.2 常用控制項設計……………………………………………………………………… 59
3.4 能力拓展………………………………………………………………………………… 67
3.4.1 ConstraintLayout ………………………………………………………………… 67
3.4.2 HierachyViewer ………………………………………………………………… 72
3.5 項目實踐………………………………………………………………………………… 76
任務4 Fragment與容器控制項設計…………………………………………………………… 77
4.1 學習情境導入…………………………………………………………………………… 77
4.2 任務實現………………………………………………………………………………… 77
4.2.1 引導頁設計………………………………………………………………………… 77
4.2.2 檔案顯示容器設計………………………………………………………………… 83
4.3 核心知識講解…………………………………………………………………………… 85
4.3.1 創建Fragment …………………………………………………………………… 85
4.3.2 添加Fragment到Activity ……………………………………………………… 87
4.3.3 Fragment的生命周期…………………………………………………………… 89
4.3.4 管理Fragment …………………………………………………………………… 92
4.3.5 Fragment與Activity通信……………………………………………………… 94
4.4 能力拓展………………………………………………………………………………… 97
4.4.1 ViewPager與水平滾動…………………………………………………………… 97
4.4.2 CoordinatorLayout與垂直滾動………………………………………………… 102
4.5 項目實踐……………………………………………………………………………… 106
任務5 適配器與適配器控制項設計…………………………………………………………… 107
5.1 學習情境導入………………………………………………………………………… 107
5.2 任務實現……………………………………………………………………………… 107
5.2.1 獲取檔案集合…………………………………………………………………… 107
5.2.2 顯示檔案………………………………………………………………………… 110
5.3 核心知識講解………………………………………………………………………… 115
5.3.1 適配器…………………………………………………………………………… 115
5.3.2 適配器控制項……………………………………………………………………… 117
5.4 能力拓展……………………………………………………………………………… 121
5.4.1 RecyclerView …………………………………………………………………… 121
5.4.2 SwipeRefreshLayout …………………………………………………………… 127
5.5 項目實踐……………………………………………………………………………… 129
任務6 選單與對話框設計…………………………………………………………………… 130
6.1 學習情境導入………………………………………………………………………… 130
6.2 任務實現……………………………………………………………………………… 130
6.2.1 側滑選單設計…………………………………………………………………… 130
6.2.2 主選單設計……………………………………………………………………… 133
6.2.3 對話框設計……………………………………………………………………… 135
6.3 核心知識講解………………………………………………………………………… 138
6.3.1 選單設計………………………………………………………………………… 138
6.3.2 對話框設計……………………………………………………………………… 142
6.4 能力拓展……………………………………………………………………………… 148
6.4.1 使用ActionMode設計動作欄………………………………………………… 148
6.4.2 使用ShareActionProvider分享套用…………………………………………… 150
6.5 項目實踐……………………………………………………………………………… 151
任務7 AsyncTask與異步任務設計………………………………………………………… 152
7.1 學習情境導入………………………………………………………………………… 152
7.2 任務實現……………………………………………………………………………… 152
7.2.1 異步檔案載入…………………………………………………………………… 152
7.2.2 異步刪除檔案…………………………………………………………………… 154
7.3 核心知識講解………………………………………………………………………… 155
7.3.1 執行緒與單執行緒模型……………………………………………………………… 155
7.3.2 Android平台的訊息處理機制………………………………………………… 156
7.3.3 AsyncTask與異步任務………………………………………………………… 161
7.4 項目實踐……………………………………………………………………………… 162
任務8 Intent與組件間的通信……………………………………………………………… 163
8.1 學習情境導入………………………………………………………………………… 163
8.2 任務實現……………………………………………………………………………… 163
8.2.1 檔案打開設計…………………………………………………………………… 163
8.2.2 檔案分享設計…………………………………………………………………… 165
8.3 核心知識講解………………………………………………………………………… 168
8.3.1 Intent與組件間的通信………………………………………………………… 168
8.3.2 Intent對象……………………………………………………………………… 169
8.3.3 Intent的解析…………………………………………………………………… 172
8.4 項目實踐……………………………………………………………………………… 174
任務9 Service與後台服務…………………………………………………………………… 175
9.1 學習情境導入………………………………………………………………………… 175
9.2 任務實現……………………………………………………………………………… 175
9.2.1 解壓檔案………………………………………………………………………… 175
9.2.2 播放音樂檔案…………………………………………………………………… 178
9.3 核心知識講解………………………………………………………………………… 185
9.3.1 創建Service …………………………………………………………………… 185
9.3.2 Service的生命周期……………………………………………………………… 186
9.3.3 StartedService ………………………………………………………………… 188
9.3.4 BoundService …………………………………………………………………… 190
9.4 項目實踐……………………………………………………………………………… 196
任務10 SharedPreferences與系統設定…………………………………………………… 197
10.1 學習情境導入………………………………………………………………………… 197
10.2 任務實現……………………………………………………………………………… 197
10.2.1 設計配置界面…………………………………………………………………… 197
10.2.2 套用配置改變…………………………………………………………………… 202
10.3 核心知識講解………………………………………………………………………… 203
10.3.1 使用SharedPreferences保存信息…………………………………………… 203
10.3.2 設計套用設定界面……………………………………………………………… 205
10.3.3 檔案存儲………………………………………………………………………… 210
10.4 項目實踐……………………………………………………………………………… 213
任務11 SQLiteOpenHelper與資料庫設計………………………………………………… 214
11.1 學習情境導入………………………………………………………………………… 214
11.2 任務實現……………………………………………………………………………… 214
11.2.1 書籤資料庫設計………………………………………………………………… 214
11.2.2 書籤資料庫操作………………………………………………………………… 216
11.3 核心知識講解………………………………………………………………………… 217
11.3.1 使用SQLiteOpenHelper管理資料庫………………………………………… 217
11.3.2 使用Loader異步載入數據…………………………………………………… 223
11.4 項目實踐……………………………………………………………………………… 227
任務12 ContentProvider與數據共享……………………………………………………… 228
12.1 學習情境導入………………………………………………………………………… 228
12.2 任務實現……………………………………………………………………………… 228
12.3 核心知識講解………………………………………………………………………… 231
12.3.1 訪問ContentProvider ………………………………………………………… 231
12.3.2 通用資源標誌符………………………………………………………………… 235
12.3.3 自定義ContentProvider ……………………………………………………… 237
12.4 能力拓展……………………………………………………………………………… 238
12.4.1 使用ContentObserver監聽數據變化………………………………………… 238
12.4.2 存儲訪問框架SAF …………………………………………………………… 241
12.5 項目實踐……………………………………………………………………………… 244
任務13 BroadcastReceiver與廣播通信…………………………………………………… 245
13.1 學習情境導入………………………………………………………………………… 245
13.2 任務實現……………………………………………………………………………… 245
13.2.1 監聽SD卡插拔………………………………………………………………… 245
13.2.2 監聽網路變化…………………………………………………………………… 246
13.3 核心知識講解………………………………………………………………………… 248
13.3.1 使用BroadcastReceiver監聽廣播…………………………………………… 248
13.3.2 使用AppWidgets創建桌面套用…………………………………………… 252
13.4 項目實踐……………………………………………………………………………… 259
任務14 HttpConnection與網路通信……………………………………………………… 260
14.1 學習情境導入………………………………………………………………………… 260
14.2 任務實現……………………………………………………………………………… 260
14.2.1 上傳百度網盤…………………………………………………………………… 260
14.2.2 套用檢查更新…………………………………………………………………… 265
14.3 核心知識講解………………………………………………………………………… 269
14.3.1 ConnectivityManager與網路管理…………………………………………… 269
14.3.2 HttpURLConnection編程…………………………………………………… 273
14.3.3 JSON 數據解析………………………………………………………………… 280
14.4 能力拓展……………………………………………………………………………… 287
14.4.1 使用WebView構建網路套用………………………………………………… 287
14.4.2 Volley框架…………………………………………………………………… 292
14.5 項目實踐……………………………………………………………………………… 297
任務15 測試與發布套用…………………………………………………………………… 298
15.1 學習情境導入………………………………………………………………………… 298
15.2 任務實現……………………………………………………………………………… 298
15.2.1 打包套用………………………………………………………………………… 298
15.2.2 百度雲測試……………………………………………………………………… 300
15.3 核心知識講解………………………………………………………………………… 302
15.3.1 AndroidStudio中的測試環境………………………………………………… 302
15.3.2 本地單元測試…………………………………………………………………… 304
15.3.3 Instrumentation測試………………………………………………………… 307
15.4 項目實踐……………………………………………………………………………… 316
參考文獻………………………………………………………………………………………… 317