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

-
【作 者】主編 趙善龍 劉俊馳
【I S B N 】978-7-5170-8448-8
【責(zé)任編輯】張玉玲
【適用讀者群】本專通用
【出版時間】2020-03-31
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】224
【千字?jǐn)?shù)】317
【印 張】14
【定 價】¥36
【叢 書】高等職業(yè)教育移動互聯(lián)應(yīng)用技術(shù)專業(yè)教材
【備注信息】移動終端,應(yīng)用程序,程序設(shè)計
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書構(gòu)建了iOS從入門到進階過程中最重要的知識體系,將知識、技術(shù)與技巧充分滲透到多個獨立且完整的iOS應(yīng)用實戰(zhàn)項目中,帶領(lǐng)讀者一同參與到真正的企業(yè)開發(fā)流程中,使讀者有條不紊地掌握完整的項目開發(fā)技術(shù),并具備企業(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)教材,也可供具備一定手機開發(fā)經(jīng)驗的開發(fā)者及iOS開發(fā)愛好者參考和使用。
· 將知識、技術(shù)與技巧充分滲透到多個獨立且完整的iOS應(yīng)用實戰(zhàn)項目中,帶領(lǐng)讀者一同參與到真正的企業(yè)開發(fā)流程中。
· 在程序?qū)嵗v解方面注重對實際動手能力的指導(dǎo)。
iOS系統(tǒng)是目前在智能移動平臺上被廣泛應(yīng)用的移動端操作系統(tǒng)之一,具有很多優(yōu)點:流暢穩(wěn)定、低功耗、安全。來自蘋果公司官方的調(diào)查顯示iOS系統(tǒng)是目前全球用戶量第二的移動操作系統(tǒng),而且用戶量每年還在不斷增長。然而擺在眾多開發(fā)者面前的問題是,很多開發(fā)者了解viewController的生命周期,卻對生命周期各個方法的調(diào)用順序及所做的操作不很清楚;很多開發(fā)者了解UI控件的使用方法,但在通過網(wǎng)絡(luò)獲取數(shù)據(jù)后刷新UI卻力不從心;很多開發(fā)者了解如何使用UITableView展示列表數(shù)據(jù),但當(dāng)數(shù)據(jù)量稍微增大時,程序就會出現(xiàn)卡頓現(xiàn)象甚至崩潰;很多開發(fā)者可以熟練地繪制布局并在模擬器上完整顯示,但一旦到了某些真機上,畫面便慘不忍睹。事實上,如何綜合地運用iOS開發(fā)技術(shù)進行規(guī)范的應(yīng)用開發(fā),如何使自己的開發(fā)技術(shù)與企業(yè)開發(fā)流程接軌,如何更好地優(yōu)化應(yīng)用,使應(yīng)用適配更廣泛的機型而且程序更加健壯,的確是讓許多通過自學(xué)成長起來的開發(fā)者深受困擾的問題。憑借多年的院校教學(xué)經(jīng)驗和企業(yè)實踐經(jīng)驗,我們深知iOS初學(xué)者在學(xué)習(xí)和成長過程中的痛點。針對這些痛點,本書規(guī)劃了iOS從入門到進階過程中最重要的知識體系,將知識、技術(shù)和技巧充分滲透到多個獨立且完整的iOS應(yīng)用實戰(zhàn)項目中,帶領(lǐng)讀者一同參與到真正的企業(yè)開發(fā)流程中,使讀者有條不紊地掌握完整的項目開發(fā)技術(shù),循序漸進地具備企業(yè)級移動應(yīng)用開發(fā)能力。
在開始項目實戰(zhàn)之前,需要讀者對本書的知識結(jié)構(gòu)體系圖進行初步的了解,讀者應(yīng)在掌握預(yù)備知識的基礎(chǔ)上對本書項目進行逐一學(xué)習(xí)。本書將著重對基礎(chǔ)組件、UI、線程與線程間通信、網(wǎng)絡(luò)通信、數(shù)據(jù)解析、數(shù)據(jù)存儲六大部分在項目中的應(yīng)用進行講解。下面介紹每個項目重點訓(xùn)練的知識點。
項目1主要針對項目構(gòu)建、布局、基礎(chǔ)控件和按鈕的點擊事件進行實戰(zhàn)。
項目2主要針對應(yīng)用的架構(gòu)搭建、UIScrollView和UITableView的使用方法和技巧、UICollectionView控件的用法進行實戰(zhàn)。
項目3主要針對視圖控制器、多個標(biāo)簽頁切換使用、自定義控件、Touch事件處理進行實戰(zhàn)。
項目4主要針對圖片處理及優(yōu)化、圖片文件讀寫、媒體播放器調(diào)用進行實戰(zhàn)。
項目5主要針對線程間通信、GCD的基本用法、不同種類任務(wù)與隊列的組合機制進行實戰(zhàn)。
項目6主要針對GCD異步獲取數(shù)據(jù)并在UI界面刷新、Http、使用和讀取沙盒(Documents)中的文件、利用NSURLSession工具實現(xiàn)網(wǎng)絡(luò)通信進行實戰(zhàn)。
項目7主要針對XML解析、WebView、自定義菜單欄與滾動動畫進行實戰(zhàn)。
項目8主要針對網(wǎng)絡(luò)圖片的處理、JSON解析、網(wǎng)絡(luò)通信的封裝、Application Extention的作用和簡單實現(xiàn)進行實戰(zhàn)。
項目9主要針對訪問手機通訊錄、攔截來電和電話操作進行實戰(zhàn)。
項目10主要針對藍(lán)牙通信進行實戰(zhàn)。
項目11主要針對Socket和消息隊列進行實戰(zhàn)。
項目12主要針對百度地圖、定位進行實戰(zhàn)。
本書由趙善龍、劉俊馳任主編,李博鑫、趙丹、趙清磊任副主編,具體編寫分工如下:項目1由嚴(yán)銘昊編寫,項目2由李旭東編寫,項目3由徐宏吉編寫,項目4由李博鑫編寫,項目5、項目8、項目11由趙丹編寫,項目6、項目9、項目10由趙清磊編寫,項目7和項目12由劉俊馳編寫,本書全部示例代碼由徐宏吉負(fù)責(zé)基礎(chǔ)框架搭建和功能驗證,趙善龍負(fù)責(zé)全書的大綱擬定、項目規(guī)劃、章節(jié)結(jié)構(gòu)設(shè)計及統(tǒng)稿工作。另外還要感謝周益丹編輯對本書提出了非常寶貴的意見,特別是書中內(nèi)容的編排、難易程度的把握、案例的選取和文敘風(fēng)格的選定等。
由于編者水平有限,書中不妥之處在所難免,懇請讀者批評指正。
項目1 簡易計算器 2
1.1 總體設(shè)計 2
1.1.1 總體分析 2
1.1.2 功能模塊框圖 3
1.1.3 系統(tǒng)流程圖 4
1.1.4 界面設(shè)計 4
1.2 詳細(xì)設(shè)計 5
1.2.1 模塊描述 5
1.2.2 源文件組及其資源規(guī)劃 6
1.2.3 主要方法流程設(shè)計 7
1.3 代碼實現(xiàn) 8
1.3.1 顯示界面布局 8
1.3.2 控件設(shè)計實現(xiàn) 8
1.3.3 控件事件處理方法實現(xiàn) 13
1.3.4 數(shù)值計算方法實現(xiàn) 17
1.4 關(guān)鍵知識點解析 18
1.4.1 在程序中創(chuàng)建導(dǎo)航欄 18
1.4.2 基礎(chǔ)界面布局 20
1.4.3 設(shè)置程序名稱和圖標(biāo) 22
1.4.4 常用文本輸入控件及按鈕 22
1.4.5 為按鈕增加多種樣式 22
1.5 問題與討論 23
項目2 天氣預(yù)報(一)—基于離線數(shù)據(jù)的
天氣應(yīng)用 24
2.1 總體設(shè)計 24
2.1.1 總體分析 24
2.1.2 功能模塊框圖 25
2.1.3 系統(tǒng)流程圖 25
2.1.4 界面設(shè)計 26
2.2 詳細(xì)設(shè)計 27
2.2.1 模塊描述 27
2.2.2 源文件組及其資源規(guī)劃 29
2.2.3 主要方法流程設(shè)計 30
2.3 代碼實現(xiàn) 30
2.3.1 顯示界面布局 30
2.3.2 控件設(shè)計實現(xiàn) 31
2.3.3 主要代碼功能分析 32
2.4 關(guān)鍵知識點解析 37
2.4.1 UIScrollView控件的用法 37
2.4.2 UITableView控件的用法 38
2.4.3 UICollectionView控件的用法 40
2.5 問題與討論 41
項目3 天天愛讀書手機閱讀器 42
3.1 總體設(shè)計 42
3.1.1 總體分析 42
3.1.2 功能模塊框圖 43
3.1.3 系統(tǒng)流程圖 43
3.1.4 界面設(shè)計 43
3.2 詳細(xì)設(shè)計 44
3.2.1 模塊描述 44
3.2.2 源文件組及其資源規(guī)劃 45
3.2.3 主要方法流程設(shè)計 46
3.3 代碼實現(xiàn) 47
3.3.1 顯示界面布局 47
3.3.2 UIPageViewController的使用 47
3.4 關(guān)鍵知識點解析 49
3.4.1 UIPageViewController應(yīng)用原理 49
3.4.2 掌握自定義控件 50
3.5 問題與討論 51
項目4 幻彩手機相冊—基于本地圖庫的
圖片應(yīng)用 52
4.1 總體設(shè)計 52
4.1.1 總體分析 52
4.1.2 功能模塊框圖 52
4.1.3 系統(tǒng)流程圖 53
4.1.4 界面設(shè)計 54
4.2 詳細(xì)設(shè)計 54
4.2.1 模塊描述 54
4.2.2 源文件組及其資源規(guī)劃 55
4.2.3 主要方法流程設(shè)計 56
4.3 代碼實現(xiàn) 57
4.3.1 顯示界面布局 57
4.3.2 讀取手機圖庫方法實現(xiàn) 58
4.3.3 圖片方向的判斷 60
4.3.4 圖片壓縮 62
4.4 關(guān)鍵知識點解析 64
4.4.1 圖片加載到內(nèi)存時造成OOM異常 64
4.4.2 大量圖片的緩存處理 64
4.5 問題與討論 65
項目5 學(xué)習(xí)監(jiān)督器 66
5.1 總體設(shè)計 66
5.1.1 總體分析 66
5.1.2 功能模塊框圖 67
5.1.3 系統(tǒng)流程圖 67
5.1.4 界面設(shè)計 68
5.2 詳細(xì)設(shè)計 69
5.2.1 模塊描述 69
5.2.2 源文件組及其資源規(guī)劃 69
5.2.3 時間設(shè)置界面設(shè)計 70
5.2.4 后臺線程設(shè)計 70
5.3 代碼實現(xiàn) 71
5.3.1 顯示界面布局 71
5.3.2 使用GCD創(chuàng)建一個定時器 72
5.3.3 監(jiān)控網(wǎng)絡(luò)變化 74
5.3.4 時間比較 74
5.3.5 一個簡單的自定義控件 76
5.4 關(guān)鍵知識點解析 76
5.4.1 為什么使用GCD 76
5.4.2 任務(wù)和隊列 77
5.4.3 GCD的其他方法 78
5.5 問題與討論 81
項目6 簡易網(wǎng)絡(luò)音樂播放器 82
6.1 總體設(shè)計 83
6.1.1 總體分析 83
6.1.2 功能模塊框圖 83
6.1.3 系統(tǒng)流程圖 83
6.1.4 界面設(shè)計 84
6.2 詳細(xì)設(shè)計 85
6.2.1 模塊描述 85
6.2.2 源文件組及其資源規(guī)劃 86
6.2.3 主要方法流程設(shè)計 87
6.3 代碼實現(xiàn) 88
6.3.1 顯示界面布局 88
6.3.2 NSURLSession網(wǎng)絡(luò)通信方法
實現(xiàn) 89
6.3.3 JSON數(shù)據(jù)解析方法實現(xiàn) 89
6.4 關(guān)鍵知識點解析 90
6.5 問題與討論 92
項目7 新聞客戶端 93
7.1 總體設(shè)計 93
7.1.1 總體分析 93
7.1.2 功能模塊框圖 94
7.1.3 系統(tǒng)流程圖 94
7.1.4 界面設(shè)計 95
7.2 詳細(xì)設(shè)計 95
7.2.1 模塊描述 95
7.2.2 源文件組及其資源規(guī)劃 97
7.2.3 主要方法流程設(shè)計 98
7.3 代碼實現(xiàn) 99
7.3.1 顯示界面布局 99
7.3.2 RSS內(nèi)容讀取方法實現(xiàn) 100
7.3.3 利用UIWebView顯示HTML
頁面 103
7.3.4 掌握UIScrollView的簡單使用
方法 103
7.4 關(guān)鍵知識點解析 104
7.4.1 RSS閱讀器實現(xiàn) 104
7.4.2 深入理解XML數(shù)據(jù)格式 106
7.5 問題與討論 109
項目8 天氣預(yù)報(二)—基于網(wǎng)絡(luò)通信的
天氣應(yīng)用 110
8.1 總體設(shè)計 110
8.1.1 總體分析 110
8.1.2 功能模塊框圖 111
8.1.3 系統(tǒng)流程圖 111
8.1.4 界面設(shè)計 111
8.2 詳細(xì)設(shè)計 112
8.2.1 模塊描述 112
8.2.2 源文件組及其資源規(guī)劃 114
8.2.3 主要方法流程設(shè)計 116
8.3 代碼實現(xiàn) 116
8.3.1 顯示界面布局 116
8.3.2 控件設(shè)計實現(xiàn) 116
8.3.3 天氣預(yù)報接口方法實現(xiàn) 117
8.4 關(guān)鍵知識點解析 119
8.4.1 在程序中使用天氣預(yù)報接口 119
8.4.2 采用APNs協(xié)議實現(xiàn)消息推送 122
8.5 問題與討論 127
項目9 商務(wù)通訊錄 128
9.1 總體設(shè)計 128
9.1.1 總體分析 128
9.1.2 功能模塊框圖 129
9.1.3 系統(tǒng)流程圖 129
9.1.4 界面設(shè)計 129
9.2 詳細(xì)設(shè)計 130
9.2.1 模塊描述 130
9.2.2 源文件組及其資源規(guī)劃 131
9.2.3 主要方法流程設(shè)計 133
9.3 代碼實現(xiàn) 134
9.3.1 顯示界面布局 134
9.3.2 實現(xiàn)過程 135
9.3.3 檢查權(quán)限授權(quán) 137
9.4 關(guān)鍵知識點解析 138
9.5 問題與討論 139
項目10 藍(lán)牙打印機 140
10.1 總體設(shè)計 140
10.1.1 總體分析 140
10.1.2 功能模塊框圖 140
10.1.3 系統(tǒng)流程圖 141
10.1.4 界面設(shè)計 141
10.2 詳細(xì)設(shè)計 142
10.2.1 模塊描述 142
10.2.2 源文件組及其資源規(guī)劃 144
10.2.3 主要方法流程設(shè)計 147
10.3 代碼實現(xiàn) 148
10.3.1 顯示界面布局 148
10.3.2 控件設(shè)計實現(xiàn) 150
10.3.3 圖片算法處理 150
10.3.4 藍(lán)牙連接管理 151
10.3.5 搜索連接藍(lán)牙設(shè)備 152
10.4 關(guān)鍵知識點解析 153
10.5 問題與討論 154
項目11 簡信聊天—基于Socket的
即時通信應(yīng)用 155
11.1 總體設(shè)計 155
11.1.1 總體分析 155
11.1.2 功能模塊框圖 155
11.1.3 系統(tǒng)流程圖 156
11.1.4 界面設(shè)計 156
11.2 詳細(xì)設(shè)計 157
11.2.1 模塊描述 157
11.2.2 源文件組及其資源規(guī)劃 159
11.2.3 主要方法流程設(shè)計 161
11.3 代碼實現(xiàn) 162
11.3.1 顯示界面布局 162
11.3.2 控件設(shè)計實現(xiàn) 163
11.3.3 發(fā)送接收消息 176
11.4 關(guān)鍵知識點解析 180
11.4.1 Socket定義 180
11.4.2 Socket與HTTP對比 180
11.4.3 使用Socket通信 180
11.5 問題與討論 182
項目12 易行打車 183
12.1 總體設(shè)計 183
12.1.1 總體分析 183
12.1.2 功能模塊框圖 183
12.1.3 系統(tǒng)流程圖 184
12.1.4 界面設(shè)計 185
12.2 詳細(xì)設(shè)計 185
12.2.1 模塊描述 185
12.2.2 源文件組及其資源規(guī)劃 187
12.2.3 主要方法流程設(shè)計 188
12.3 代碼實現(xiàn) 189
12.3.1 顯示界面布局 189
12.3.2 申請百度地圖API key 191
12.3.3 地圖組件的初始化與顯示頁面
基類設(shè)計 192
12.3.4 地圖操作與顯示類的設(shè)計實現(xiàn) 199
12.3.5 訂單列表和處理 204
12.4 關(guān)鍵知識點解析 208
12.4.1 路徑檢索和地圖標(biāo)注 208
12.4.2 iOS的3種定位方式 214
12.5 問題與討論 216
- 機械制圖 [許淑珍 于利民]
- 微積分(經(jīng)管類)導(dǎo)學(xué)篇(下冊) [王海棠 曹海軍 周玲麗]
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ) [主編 姜國權(quán) 姜福佳]
- 農(nóng)產(chǎn)品云倉模式研究—以北京農(nóng)產(chǎn)品流通物流供應(yīng)鏈重構(gòu)為例 [武曉釗 王成林 王春娟 等著]
- 信息技術(shù)(微課版) [王云 徐江鴻 李清霞 羅學(xué)鋒 ]
- 管理基礎(chǔ)與實務(wù) [主編 王鳳基 顏漢軍]
- 高等數(shù)學(xué)導(dǎo)學(xué)篇(下冊) [主編 李文婧 胡雷 尹金生]
- 高等數(shù)學(xué)導(dǎo)學(xué)篇(上冊) [主編 李文婧 胡雷 尹金生]
- 高等數(shù)學(xué)(下冊) [主編 李愛芹 胡雷 尹金生]
- 高等數(shù)學(xué)(上冊) [主編 李愛芹 胡雷 尹金生]
- 庭院風(fēng)骨—樹、灌、籬 [創(chuàng)意房主 著]
- Python語言程序設(shè)計教程 [郭其標(biāo) 房宜汕]
- 微積分(經(jīng)管類)教程篇(下冊) [曹海軍 王海棠 周玲麗]
- 微積分(經(jīng)管類)教程篇(上冊) [曹海軍 王海棠 周玲麗]
- 微積分(經(jīng)管類)導(dǎo)學(xué)篇(上冊) [王海棠 曹海軍 周玲麗]
- 網(wǎng)站前端技術(shù)案例教程(HTML+CSS+JavaScript)(第二版) [黃華升]
- 線性代數(shù) [主編 史昱 陳鳳欣]
- 電力電子技術(shù)課程學(xué)習(xí)及實驗指導(dǎo) [主編 陳榮]
- 成長對話:青春的榜樣 [主編 施端銀 黃武剛 應(yīng)巨林]
- 人工智能應(yīng)用基礎(chǔ) [主編 楊纓 李佳]
- 中華水文化(慕課版)(第二版) [畢雪燕 楊華軻 羅玲誼 等編著]
- 電路與電子技術(shù)Ⅱ——電路分析基礎(chǔ) [主編 陳曉 金哲]
- 飛機維修專業(yè)英語——飛機系統(tǒng)(第二版) [趙迎春]
- 英語大爆炸:跟趣味情景劇學(xué)口語(微課版) [秦然 編著]
- 機械工程制圖任務(wù)跟蹤訓(xùn)練 [主編 王瑞清 趙金考 周彥云 ]
- 機械工程制圖 [主編 覃國萍 劉百順 禹晨]
- 平面設(shè)計與制作項目化教程 [主編 李晨]
- 后期影像剪輯技術(shù) [主編 郭建偉]
- 人工智能概論(第二版) [主編 任云暉 丁紅 徐迎春 ]
- 信息時代美育之道 [主編 劉宏宇 黎婭]