Android項目開發(fā)實戰(zhàn)

-
【作 者】趙善龍 李旭東
【I S B N 】978-7-5170-6702-3
【責(zé)任編輯】張玉玲
【適用讀者群】本專通用
【出版時間】2018-10-15
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】272
【千字?jǐn)?shù)】420
【印 張】17
【定 價】¥36
【叢 書】高等職業(yè)教育“十三五”規(guī)劃教材(移動互聯(lián)應(yīng)用技術(shù)專業(yè))
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書規(guī)劃了Android從入門到進(jìn)階過程中最重要的知識體系,將知識、技術(shù)與技巧充分滲透到多個獨立且完整的Android應(yīng)用實戰(zhàn)項目中,帶領(lǐng)讀者一同參與到真正的企業(yè)開發(fā)流程,使讀者有條不紊地掌握完整的項目開發(fā)技術(shù),循序漸進(jìn)地具備企業(yè)級移動應(yīng)用開發(fā)的能力。在程序?qū)嵗v解方面,注重對實際動手能力的指導(dǎo);在遵循項目開發(fā)過程的同時,將重要知識點和經(jīng)驗技巧以“關(guān)鍵知識點解析”的形式呈現(xiàn)給讀者,這為初學(xué)者將學(xué)習(xí)與實踐結(jié)合提供了很好的指導(dǎo)。
本書可作為大學(xué)本科和高職高專有關(guān)課程的實訓(xùn)教材,也可供具備一定手機(jī)開發(fā)經(jīng)驗的開發(fā)者及Android開發(fā)愛好者參考和使用。
精編實踐案例,圖文并茂,幫你掌握開發(fā)技能
資深教學(xué)團(tuán)隊,Android開發(fā)企業(yè)級導(dǎo)師傾情教授
適用群體廣泛,旨在培養(yǎng)具有企業(yè)移動應(yīng)用開發(fā)能力的應(yīng)用型人才
在移動編程技術(shù)中,Android將開發(fā)者使用最多的Java語言作為基礎(chǔ)語言,為眾多已掌握J(rèn)ava編程技術(shù)的開發(fā)者降低了學(xué)習(xí)門檻。同時,谷歌對Android進(jìn)行了從組件到UI各層次較完善和豐富的封裝,為開發(fā)者提供了大量簡潔易用的API和基礎(chǔ)UI控件,這也在很大程度上降低了開發(fā)者的學(xué)習(xí)成本。然而擺在眾多開發(fā)者面前的問題是,很多開發(fā)者了解Android中Activity的生命周期各環(huán)節(jié)被調(diào)用的時機(jī),但卻對生命周期各環(huán)節(jié)應(yīng)該編寫哪部分代碼不得其法;很多開發(fā)者了解UI控件的使用方法,但卻在通過網(wǎng)絡(luò)獲取數(shù)據(jù)后刷新UI方面力不從心;很多開發(fā)者了解如何使用ListView展示列表數(shù)據(jù),但當(dāng)數(shù)據(jù)量稍微增大時程序就會出現(xiàn)卡頓甚至崩潰;很多開發(fā)者可以熟練地繪制布局并在模擬器上顯示完整,但一旦到了某些真機(jī)上,畫面卻慘不忍睹。事實上,如何綜合地運用Android開發(fā)技術(shù)進(jìn)行規(guī)范的應(yīng)用開發(fā),如何使自己的開發(fā)技術(shù)與企業(yè)開發(fā)流程接軌,如何更好地優(yōu)化應(yīng)用,使應(yīng)用適配更廣泛的機(jī)型而且程序更加健壯,的確是使許多通過自學(xué)成長的開發(fā)者深受困擾的問題。憑借多年的院校教學(xué)經(jīng)驗和企業(yè)實踐經(jīng)驗,我們深知Android初學(xué)者在學(xué)習(xí)和成長過程中的痛點。針對這些痛點,本書規(guī)劃了Android從入門到進(jìn)階過程中最重要的知識體系,將知識、技術(shù)與技巧充分滲透到多個獨立且完整的Android應(yīng)用實戰(zhàn)項目中,帶領(lǐng)讀者一同參與到真正的企業(yè)開發(fā)流程中,使讀者有條不紊地掌握完整的項目開發(fā)技術(shù),循序漸進(jìn)地具備企業(yè)級移動應(yīng)用開發(fā)的能力。
在開始項目實戰(zhàn)之前,需要讀者對本書的知識結(jié)構(gòu)體系圖進(jìn)行初步了解,讀者應(yīng)在掌握預(yù)備知識的基礎(chǔ)上對本書項目進(jìn)行逐一學(xué)習(xí)。本書將著重對基礎(chǔ)組件、UI、線程與線程間通信、網(wǎng)絡(luò)通信、數(shù)據(jù)解析和數(shù)據(jù)存儲六大部分在項目中的應(yīng)用進(jìn)行講解。下面介紹每個項目重點訓(xùn)練的知識點。
項目1主要針對項目構(gòu)建、布局、基礎(chǔ)控件和按鈕的點擊事件進(jìn)行實戰(zhàn)。
項目2主要針對應(yīng)用的架構(gòu)搭建、ListView的使用方法和技巧、自定義Adapter的方法進(jìn)行實戰(zhàn)。
項目3主要針對本地文件存儲、自定義控件、onTouch事件處理及Canvas進(jìn)行實戰(zhàn)。
項目4主要針對圖片處理及優(yōu)化、文件讀寫、ContentProvider進(jìn)行實戰(zhàn)。
項目5主要針對線程間通信、時鐘、Service進(jìn)行實戰(zhàn)。
項目6主要針對線程間通信、HTTP、BroadcastReceiver、Service進(jìn)行實戰(zhàn)。
項目7主要針對Fragment、XML解析、WebView進(jìn)行實戰(zhàn)。
項目8主要針對HttpClient、JSON解析、網(wǎng)絡(luò)通信的封裝進(jìn)行實戰(zhàn)。
項目9主要針對BroadcastReceiver、Service、AIDL和電話操作進(jìn)行實戰(zhàn)。
項目10主要針對藍(lán)牙通信進(jìn)行實戰(zhàn)。
項目11主要針對Socket、Handle和消息隊列進(jìn)行實戰(zhàn)。
項目12主要針對百度地圖、定位、SQLiteOpenHelper和自動更新進(jìn)行實戰(zhàn)。
本書由趙善龍、李旭東任主編,姜培育、李春寶任副主編,另外還要感謝周益丹編輯對本書提出了非常寶貴的意見,特別是書中內(nèi)容的編排、難易程度的把握、案例的選取和文敘風(fēng)格等。
由于編者水平有限,書中不妥之處在所難免,懇請讀者批評指正。
編 者
2018年6月
1.1 總體設(shè)計 1
1.1.1 總體分析 1
1.1.2 功能模塊框圖 2
1.1.3 系統(tǒng)流程圖 2
1.1.4 界面設(shè)計 2
1.2 詳細(xì)設(shè)計 4
1.2.1 模塊描述 4
1.2.2 系統(tǒng)包及其資源規(guī)劃 5
1.2.3 主要方法流程設(shè)計 5
1.3 代碼實現(xiàn) 7
1.3.1 顯示界面布局 7
1.3.2 控件設(shè)計實現(xiàn) 7
1.3.3 控件事件處理方法實現(xiàn) 12
1.3.4 數(shù)值計算方法實現(xiàn) 15
1.4 關(guān)鍵知識點解析 16
1.4.1 在程序中創(chuàng)建菜單 16
1.4.2 基礎(chǔ)界面布局 19
1.4.3 設(shè)置程序名稱和圖標(biāo) 21
1.4.4 常用文本輸入控件及按鈕 21
1.4.5 為按鈕增加多種樣式—selector 26
1.4.6 多分辨率適配利器—LinearLayout 28
1.5 問題與討論 30
項目2 基于離線數(shù)據(jù)的天氣應(yīng)用—
天氣預(yù)報(一) 31
2.1 總體設(shè)計 31
2.1.1 總體分析 31
2.1.2 功能模塊框圖 32
2.1.3 系統(tǒng)流程圖 32
2.1.4 界面設(shè)計 33
2.2 詳細(xì)設(shè)計 34
2.2.1 模塊描述 34
2.2.2 系統(tǒng)包及其資源規(guī)劃 36
2.2.3 主要方法流程設(shè)計 39
2.3 代碼實現(xiàn) 39
2.3.1 顯示界面布局 39
2.3.2 控件設(shè)計實現(xiàn) 39
2.3.3 主要代碼功能分析 43
2.4 關(guān)鍵知識點解析 49
2.4.1 ListView控件的用法 49
2.4.2 自定義適配器 52
2.4.3 GridView控件的用法 57
2.4.4 ViewPager控件的用法 57
2.4.5 ListView中存在按鈕時導(dǎo)致ListItem點擊無效的解決方案 60
2.5 問題與討論 60
項目3 天天愛讀書手機(jī)閱讀器 61
3.1 總體設(shè)計 61
3.1.1 功能模塊框圖 62
3.1.2 系統(tǒng)流程圖 62
3.1.3 界面設(shè)計 63
3.2 詳細(xì)設(shè)計 63
3.2.1 模塊描述 63
3.2.2 系統(tǒng)包及其資源規(guī)劃 64
3.2.3 主要方法流程設(shè)計 66
3.3 代碼實現(xiàn) 67
3.3.1 顯示界面布局 67
3.3.2 Touch事件方法實現(xiàn) 68
3.4 關(guān)鍵知識點解析 69
3.4.1 Android的Touch事件處理機(jī)制 69
3.4.2 掌握自定義控件 70
3.5 問題與討論 73
項目4 基于本地圖庫的圖片應(yīng)用—幻彩手機(jī)相冊 74
4.1 總體設(shè)計 74
4.1.1 功能模塊框圖 74
4.1.2 系統(tǒng)流程圖 74
4.1.3 界面設(shè)計 76
4.2 詳細(xì)設(shè)計 76
4.2.1 模塊描述 76
4.2.2 系統(tǒng)包及其資源規(guī)劃 77
4.2.3 主要方法流程設(shè)計 80
4.3 代碼實現(xiàn) 81
4.3.1 顯示界面布局 81
4.3.2 讀取手機(jī)圖庫方法實現(xiàn) 82
4.3.3 圖片方向的判斷 83
4.3.4 圖片壓縮 84
4.3.5 使用Android提供的媒體播放器
(MediaPlayer) 85
4.4 關(guān)鍵知識點解析 87
4.4.1 圖片加載到內(nèi)存OOM 87
4.4.2 大量圖片的緩存處理 89
4.5 問題與討論 90
項目5 學(xué)習(xí)監(jiān)督器 91
5.1 總體設(shè)計 91
5.1.1 總體分析 91
5.1.2 功能模塊框圖 91
5.1.3 系統(tǒng)流程圖 92
5.1.4 界面設(shè)計 92
5.2 詳細(xì)設(shè)計 94
5.2.1 系統(tǒng)包及其資源規(guī)劃 94
5.2.2 時間設(shè)置Activity設(shè)計 94
5.2.3 后臺服務(wù)設(shè)計 95
5.3 代碼實現(xiàn) 96
5.3.1 顯示界面布局 96
5.3.2 構(gòu)建一個服務(wù) 97
5.3.3 創(chuàng)建啟動服務(wù) 99
5.3.4 監(jiān)控網(wǎng)絡(luò)變化 102
5.3.5 時間比較 103
5.3.6 創(chuàng)建綁定的服務(wù) 104
5.3.7 使用Activity作為Dialog 105
5.4 關(guān)鍵知識點解析 106
5.4.1 在前臺運行服務(wù) 106
5.4.2 服務(wù)的生命周期 106
5.4.3 避免系統(tǒng)回收服務(wù) 107
5.5 問題與討論 108
項目6 簡易網(wǎng)絡(luò)音樂播放器 109
6.1 總體設(shè)計 109
6.1.1 總體分析 109
6.1.2 功能模塊框圖 110
6.1.3 系統(tǒng)流程圖 110
6.1.4 界面設(shè)計 110
6.2 詳細(xì)設(shè)計 111
6.2.1 模塊描述 111
6.2.2 系統(tǒng)包及其資源規(guī)劃 113
6.2.3 主要方法流程設(shè)計 115
6.3 代碼實現(xiàn) 115
6.3.1 顯示界面布局 115
6.3.2 HttpURLConnection網(wǎng)絡(luò)通信方法
實現(xiàn) 116
6.3.3 XML數(shù)據(jù)解析方法實現(xiàn) 117
6.4 關(guān)鍵知識點解析 118
6.4.1 AsyncTask(異步任務(wù))的使用 118
6.4.2 HttpClient、HttpURLConnection、okHttp和Volley的網(wǎng)絡(luò)通信對比 119
6.4.3 HttpClient和HttpURLConnection的使用方法 120
6.5 問題與討論 122
項目7 新聞客戶端 123
7.1 總體設(shè)計 123
7.1.1 功能模塊框圖 123
7.1.2 系統(tǒng)流程圖 124
7.1.3 界面設(shè)計 124
7.2 詳細(xì)設(shè)計 125
7.2.1 模塊描述 125
7.2.2 系統(tǒng)包及其資源規(guī)劃 126
7.2.3 主要方法流程設(shè)計 128
7.3 代碼實現(xiàn) 129
7.3.1 顯示界面布局 129
7.3.2 RSS內(nèi)容讀取方法實現(xiàn) 130
7.3.3 利用WebView顯示HTML頁面 133
7.3.4 利用ViewHolder優(yōu)化AdapterView 133
7.3.5 Fragment的簡單使用方法(FragmentStatePagerAdapter) 134
7.3.6 菜單的使用技巧(ActionBar) 135
7.4 關(guān)鍵知識點解析 135
7.4.1 用戶體驗 135
7.4.2 RSS閱讀器實現(xiàn) 136
7.4.3 深入理解XML數(shù)據(jù)格式 139
7.5 問題與討論 145
項目8 基于網(wǎng)絡(luò)通信的天氣應(yīng)用—
天氣預(yù)報(二) 146
8.1 總體設(shè)計 146
8.1.1 總體分析 146
8.1.2 功能模塊框圖 147
8.1.3 系統(tǒng)流程圖 147
8.1.4 界面設(shè)計 147
8.2 詳細(xì)設(shè)計 148
8.2.1 模塊描述 148
8.2.2 系統(tǒng)包及其資源規(guī)劃 150
8.2.3 主要方法流程設(shè)計 152
8.3 代碼實現(xiàn) 153
8.3.1 顯示界面布局 153
8.3.2 控件設(shè)計實現(xiàn) 153
8.3.3 天氣預(yù)報接口方法實現(xiàn) 153
8.4 關(guān)鍵知識點解析 155
8.4.1. 在程序中使用天氣預(yù)報接口 155
8.4.2 采用MQTT協(xié)議實現(xiàn)Android推送 158
8.5 問題與討論 167
項目9 商務(wù)通訊錄 168
9.1 總體設(shè)計 168
9.1.1 總體分析 168
9.1.2 功能模塊框圖 168
9.1.3 系統(tǒng)流程圖 169
9.1.4 界面設(shè)計 169
9.2 詳細(xì)設(shè)計 170
9.2.1 模塊描述 170
9.2.2 系統(tǒng)包及其資源規(guī)劃 172
9.2.3 主要方法流程設(shè)計 173
9.3 代碼實現(xiàn) 175
9.3.1 顯示界面布局 175
9.3.2 控件設(shè)計實現(xiàn) 176
9.3.3 監(jiān)聽手機(jī)來電服務(wù) 179
9.3.4 掛斷電話 180
9.4 關(guān)鍵知識點解析 182
9.4.1 進(jìn)程通信—AIDL的使用 182
9.4.2 雙卡雙待手機(jī)如何獲取來電 186
9.5 問題與討論 187
項目10 藍(lán)牙打印機(jī) 188
10.1 總體設(shè)計 188
10.1.1 總體分析 188
10.1.2 功能模塊框圖 188
10.1.3 系統(tǒng)流程圖 189
10.1.4 界面設(shè)計 189
10.2 詳細(xì)設(shè)計 190
10.2.1 模塊描述 190
10.2.2 系統(tǒng)包及其資源規(guī)劃 192
10.2.3 主要方法流程設(shè)計 194
10.3 代碼實現(xiàn) 195
10.3.1 顯示界面布局 195
10.3.2 控件設(shè)計實現(xiàn) 197
10.3.3 獲取圖片分享 201
10.3.4 藍(lán)牙設(shè)備和設(shè)置可見時間 203
10.3.5 搜索藍(lán)牙設(shè)備 203
10.3.6 連接藍(lán)牙設(shè)備 204
10.3.7 藍(lán)牙通信 205
10.4 關(guān)鍵知識點解析 206
10.4.1 靜默開啟藍(lán)牙 206
10.4.2 藍(lán)牙自動配對 207
10.5 問題與討論 209
項目11 基于Socket的Bmop即時通信 210
11.1 總體設(shè)計 210
11.1.1 總體分析 210
11.1.2 功能模塊框圖 210
11.1.3 系統(tǒng)流程圖 211
11.1.4 界面設(shè)計 211
11.2 詳細(xì)設(shè)計 212
11.2.1 模塊描述 212
11.2.2 系統(tǒng)包及其資源規(guī)劃 213
11.2.3 主要方法流程設(shè)計 216
11.3 代碼實現(xiàn) 217
11.3.1 顯示界面布局 217
11.3.2 控件設(shè)計實現(xiàn) 219
11.3.3 Socket線程 227
11.3.4 待發(fā)消息隊列 228
11.3.5 消息接收 229
11.4 關(guān)鍵知識點解析 233
11.4.1 Socket定義 233
11.4.2 Socket與HTTP對比 233
11.4.3 使用UDP協(xié)議通信 233
11.5 問題與討論 234
項目12 易行打車 235
12.1 總體設(shè)計 235
12.1.1 總體分析 235
12.1.2 功能模塊框圖 235
12.1.3 系統(tǒng)流程圖 236
12.1.4 界面設(shè)計 236
12.2 詳細(xì)設(shè)計 237
12.2.1 模塊描述 237
12.2.2 系統(tǒng)包及其資源規(guī)劃 238
12.2.3 主要方法流程設(shè)計 241
12.3 代碼實現(xiàn) 242
12.3.1 顯示界面布局 242
12.3.2 控件設(shè)計實現(xiàn) 244
12.3.3 申請百度地圖API Key 250
12.3.4 初始化定位 251
12.3.5 定位監(jiān)聽 251
12.3.6 初始化地圖View 252
12.3.7 顯示位置信息 252
12.3.8 獲取當(dāng)前屏幕的經(jīng)緯度范圍 253
12.3.9 增加多個標(biāo)注并監(jiān)聽 253
12.4 關(guān)鍵知識點解析 255
12.4.1 在線更新 255
12.4.2 Android的四種定位方式 260
12.5 問題與討論 262
- 零基礎(chǔ)玩轉(zhuǎn)國產(chǎn)大模型DeepSeek [徐永冰 張帥 編著]
- 網(wǎng)絡(luò)工程師5天修煉(適配第6版考綱) [主編 朱小平 施游]
- 信息系統(tǒng)項目管理師考試32小時通關(guān)(適用第4版考綱) [薛大龍]
- 信息系統(tǒng)管理工程師考試32小時通關(guān)(適配第2版考綱) [薛大龍 劉偉]
- 土木工程材料檢測實訓(xùn) [洪曉江 達(dá)則曉麗 錢波]
- 科技信息檢索與論文寫作實用教程 [李振華]
- 傳統(tǒng)山水畫論解讀與實踐 [陳鈉 著]
- Python數(shù)據(jù)庫編程 [主編 殷樹友 邢 翀]
- 計算機(jī)基礎(chǔ)實訓(xùn)指導(dǎo) [主編 袁春萍 朱妮]
- 嵌入式人工智能技術(shù)應(yīng)用(數(shù)字教材) [主編 胡娜 楊國勇 晏廷榮]
- Vienna整流器技術(shù) [桂存兵 著]
- 變頻器與伺服應(yīng)用 [陳剛 葉云飛]
- 物聯(lián)網(wǎng)工程設(shè)計與實踐 [湯琳 李敏]
- 爐邊夜話——深入淺出話AI [汪建 著]
- 電商運營與管理 [鐘肖英 陳瀟]
- Java面向?qū)ο蟪绦蛟O(shè)計 [主編 姜春磊 陳虹潔]
- 信息技術(shù)基礎(chǔ)(Windows 10+WPS Office)(微課版) [主編 石利平 田輝平 謝盛嘉]
- 人工智能應(yīng)用 [主編 陳 萍 劉培培 陳孟軍]
- 大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo) [主編 劉志堅]
- 高級辦公應(yīng)用項目教程 [主編 屈晶 趙成麗]
- 微信小程序開發(fā)項目實戰(zhàn)(微課版) [主編 黃龍泉 郭峰 朱倩]
- 企業(yè)檔案工作實戰(zhàn)寶典百問百答 [華俊 盧秀英 邵甜甜 著]
- 計算機(jī)網(wǎng)絡(luò)原理及應(yīng)用 [主編 唐繼勇 葉坤 孫夢娜]
- 大學(xué)生創(chuàng)業(yè)基礎(chǔ) [主編 王麗莉 王 楊]
- 船舶輔機(jī) [主編 王連海 于洋 姜淑翠]
- 大學(xué)生就業(yè)指導(dǎo) [主編 王麗莉 董宴廷]
- 系統(tǒng)架構(gòu)設(shè)計師章節(jié)習(xí)題與考點特訓(xùn) [主編 薛大龍 鄒月平]
- 高校學(xué)生工作探索與實踐 [郭亮 著]
- 大學(xué)生情商管理 [方雄 著]
- 2023年長沙市會展業(yè)發(fā)展報告 [主編 周棟良]