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