iOS項目開發實戰
-
【作 者】主編 趙善龍 劉俊馳
【I S B N 】978-7-5170-8448-8
【責任編輯】張玉玲
【適用讀者群】本專通用
【出版時間】2020-03-31
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】224
【千字數】317
【印 張】14
【定 價】¥36
【叢 書】高等職業教育移動互聯應用技術專業教材
【備注信息】移動終端,應用程序,程序設計
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書構建了iOS從入門到進階過程中最重要的知識體系,將知識、技術與技巧充分滲透到多個獨立且完整的iOS應用實戰項目中,帶領讀者一同參與到真正的企業開發流程中,使讀者有條不紊地掌握完整的項目開發技術,并具備企業級移動應用開發的能力。在程序實例講解方面,注重對實際動手能力的指導;在遵循項目開發過程的同時,將重要的知識點和經驗技巧以“關鍵知識點解析”的形式呈現給讀者,這為初學者將學習與實踐結合提供了很好的指導。
本書可作為大學本科和高職高專有關課程的實訓教材,也可供具備一定手機開發經驗的開發者及iOS開發愛好者參考和使用。
· 將知識、技術與技巧充分滲透到多個獨立且完整的iOS應用實戰項目中,帶領讀者一同參與到真正的企業開發流程中。
· 在程序實例講解方面注重對實際動手能力的指導。
iOS系統是目前在智能移動平臺上被廣泛應用的移動端操作系統之一,具有很多優點:流暢穩定、低功耗、安全。來自蘋果公司官方的調查顯示iOS系統是目前全球用戶量第二的移動操作系統,而且用戶量每年還在不斷增長。然而擺在眾多開發者面前的問題是,很多開發者了解viewController的生命周期,卻對生命周期各個方法的調用順序及所做的操作不很清楚;很多開發者了解UI控件的使用方法,但在通過網絡獲取數據后刷新UI卻力不從心;很多開發者了解如何使用UITableView展示列表數據,但當數據量稍微增大時,程序就會出現卡頓現象甚至崩潰;很多開發者可以熟練地繪制布局并在模擬器上完整顯示,但一旦到了某些真機上,畫面便慘不忍睹。事實上,如何綜合地運用iOS開發技術進行規范的應用開發,如何使自己的開發技術與企業開發流程接軌,如何更好地優化應用,使應用適配更廣泛的機型而且程序更加健壯,的確是讓許多通過自學成長起來的開發者深受困擾的問題。憑借多年的院校教學經驗和企業實踐經驗,我們深知iOS初學者在學習和成長過程中的痛點。針對這些痛點,本書規劃了iOS從入門到進階過程中最重要的知識體系,將知識、技術和技巧充分滲透到多個獨立且完整的iOS應用實戰項目中,帶領讀者一同參與到真正的企業開發流程中,使讀者有條不紊地掌握完整的項目開發技術,循序漸進地具備企業級移動應用開發能力。
在開始項目實戰之前,需要讀者對本書的知識結構體系圖進行初步的了解,讀者應在掌握預備知識的基礎上對本書項目進行逐一學習。本書將著重對基礎組件、UI、線程與線程間通信、網絡通信、數據解析、數據存儲六大部分在項目中的應用進行講解。下面介紹每個項目重點訓練的知識點。
項目1主要針對項目構建、布局、基礎控件和按鈕的點擊事件進行實戰。
項目2主要針對應用的架構搭建、UIScrollView和UITableView的使用方法和技巧、UICollectionView控件的用法進行實戰。
項目3主要針對視圖控制器、多個標簽頁切換使用、自定義控件、Touch事件處理進行實戰。
項目4主要針對圖片處理及優化、圖片文件讀寫、媒體播放器調用進行實戰。
項目5主要針對線程間通信、GCD的基本用法、不同種類任務與隊列的組合機制進行實戰。
項目6主要針對GCD異步獲取數據并在UI界面刷新、Http、使用和讀取沙盒(Documents)中的文件、利用NSURLSession工具實現網絡通信進行實戰。
項目7主要針對XML解析、WebView、自定義菜單欄與滾動動畫進行實戰。
項目8主要針對網絡圖片的處理、JSON解析、網絡通信的封裝、Application Extention的作用和簡單實現進行實戰。
項目9主要針對訪問手機通訊錄、攔截來電和電話操作進行實戰。
項目10主要針對藍牙通信進行實戰。
項目11主要針對Socket和消息隊列進行實戰。
項目12主要針對百度地圖、定位進行實戰。
本書由趙善龍、劉俊馳任主編,李博鑫、趙丹、趙清磊任副主編,具體編寫分工如下:項目1由嚴銘昊編寫,項目2由李旭東編寫,項目3由徐宏吉編寫,項目4由李博鑫編寫,項目5、項目8、項目11由趙丹編寫,項目6、項目9、項目10由趙清磊編寫,項目7和項目12由劉俊馳編寫,本書全部示例代碼由徐宏吉負責基礎框架搭建和功能驗證,趙善龍負責全書的大綱擬定、項目規劃、章節結構設計及統稿工作。另外還要感謝周益丹編輯對本書提出了非常寶貴的意見,特別是書中內容的編排、難易程度的把握、案例的選取和文敘風格的選定等。
由于編者水平有限,書中不妥之處在所難免,懇請讀者批評指正。
項目1 簡易計算器 2
1.1 總體設計 2
1.1.1 總體分析 2
1.1.2 功能模塊框圖 3
1.1.3 系統流程圖 4
1.1.4 界面設計 4
1.2 詳細設計 5
1.2.1 模塊描述 5
1.2.2 源文件組及其資源規劃 6
1.2.3 主要方法流程設計 7
1.3 代碼實現 8
1.3.1 顯示界面布局 8
1.3.2 控件設計實現 8
1.3.3 控件事件處理方法實現 13
1.3.4 數值計算方法實現 17
1.4 關鍵知識點解析 18
1.4.1 在程序中創建導航欄 18
1.4.2 基礎界面布局 20
1.4.3 設置程序名稱和圖標 22
1.4.4 常用文本輸入控件及按鈕 22
1.4.5 為按鈕增加多種樣式 22
1.5 問題與討論 23
項目2 天氣預報(一)—基于離線數據的
天氣應用 24
2.1 總體設計 24
2.1.1 總體分析 24
2.1.2 功能模塊框圖 25
2.1.3 系統流程圖 25
2.1.4 界面設計 26
2.2 詳細設計 27
2.2.1 模塊描述 27
2.2.2 源文件組及其資源規劃 29
2.2.3 主要方法流程設計 30
2.3 代碼實現 30
2.3.1 顯示界面布局 30
2.3.2 控件設計實現 31
2.3.3 主要代碼功能分析 32
2.4 關鍵知識點解析 37
2.4.1 UIScrollView控件的用法 37
2.4.2 UITableView控件的用法 38
2.4.3 UICollectionView控件的用法 40
2.5 問題與討論 41
項目3 天天愛讀書手機閱讀器 42
3.1 總體設計 42
3.1.1 總體分析 42
3.1.2 功能模塊框圖 43
3.1.3 系統流程圖 43
3.1.4 界面設計 43
3.2 詳細設計 44
3.2.1 模塊描述 44
3.2.2 源文件組及其資源規劃 45
3.2.3 主要方法流程設計 46
3.3 代碼實現 47
3.3.1 顯示界面布局 47
3.3.2 UIPageViewController的使用 47
3.4 關鍵知識點解析 49
3.4.1 UIPageViewController應用原理 49
3.4.2 掌握自定義控件 50
3.5 問題與討論 51
項目4 幻彩手機相冊—基于本地圖庫的
圖片應用 52
4.1 總體設計 52
4.1.1 總體分析 52
4.1.2 功能模塊框圖 52
4.1.3 系統流程圖 53
4.1.4 界面設計 54
4.2 詳細設計 54
4.2.1 模塊描述 54
4.2.2 源文件組及其資源規劃 55
4.2.3 主要方法流程設計 56
4.3 代碼實現 57
4.3.1 顯示界面布局 57
4.3.2 讀取手機圖庫方法實現 58
4.3.3 圖片方向的判斷 60
4.3.4 圖片壓縮 62
4.4 關鍵知識點解析 64
4.4.1 圖片加載到內存時造成OOM異常 64
4.4.2 大量圖片的緩存處理 64
4.5 問題與討論 65
項目5 學習監督器 66
5.1 總體設計 66
5.1.1 總體分析 66
5.1.2 功能模塊框圖 67
5.1.3 系統流程圖 67
5.1.4 界面設計 68
5.2 詳細設計 69
5.2.1 模塊描述 69
5.2.2 源文件組及其資源規劃 69
5.2.3 時間設置界面設計 70
5.2.4 后臺線程設計 70
5.3 代碼實現 71
5.3.1 顯示界面布局 71
5.3.2 使用GCD創建一個定時器 72
5.3.3 監控網絡變化 74
5.3.4 時間比較 74
5.3.5 一個簡單的自定義控件 76
5.4 關鍵知識點解析 76
5.4.1 為什么使用GCD 76
5.4.2 任務和隊列 77
5.4.3 GCD的其他方法 78
5.5 問題與討論 81
項目6 簡易網絡音樂播放器 82
6.1 總體設計 83
6.1.1 總體分析 83
6.1.2 功能模塊框圖 83
6.1.3 系統流程圖 83
6.1.4 界面設計 84
6.2 詳細設計 85
6.2.1 模塊描述 85
6.2.2 源文件組及其資源規劃 86
6.2.3 主要方法流程設計 87
6.3 代碼實現 88
6.3.1 顯示界面布局 88
6.3.2 NSURLSession網絡通信方法
實現 89
6.3.3 JSON數據解析方法實現 89
6.4 關鍵知識點解析 90
6.5 問題與討論 92
項目7 新聞客戶端 93
7.1 總體設計 93
7.1.1 總體分析 93
7.1.2 功能模塊框圖 94
7.1.3 系統流程圖 94
7.1.4 界面設計 95
7.2 詳細設計 95
7.2.1 模塊描述 95
7.2.2 源文件組及其資源規劃 97
7.2.3 主要方法流程設計 98
7.3 代碼實現 99
7.3.1 顯示界面布局 99
7.3.2 RSS內容讀取方法實現 100
7.3.3 利用UIWebView顯示HTML
頁面 103
7.3.4 掌握UIScrollView的簡單使用
方法 103
7.4 關鍵知識點解析 104
7.4.1 RSS閱讀器實現 104
7.4.2 深入理解XML數據格式 106
7.5 問題與討論 109
項目8 天氣預報(二)—基于網絡通信的
天氣應用 110
8.1 總體設計 110
8.1.1 總體分析 110
8.1.2 功能模塊框圖 111
8.1.3 系統流程圖 111
8.1.4 界面設計 111
8.2 詳細設計 112
8.2.1 模塊描述 112
8.2.2 源文件組及其資源規劃 114
8.2.3 主要方法流程設計 116
8.3 代碼實現 116
8.3.1 顯示界面布局 116
8.3.2 控件設計實現 116
8.3.3 天氣預報接口方法實現 117
8.4 關鍵知識點解析 119
8.4.1 在程序中使用天氣預報接口 119
8.4.2 采用APNs協議實現消息推送 122
8.5 問題與討論 127
項目9 商務通訊錄 128
9.1 總體設計 128
9.1.1 總體分析 128
9.1.2 功能模塊框圖 129
9.1.3 系統流程圖 129
9.1.4 界面設計 129
9.2 詳細設計 130
9.2.1 模塊描述 130
9.2.2 源文件組及其資源規劃 131
9.2.3 主要方法流程設計 133
9.3 代碼實現 134
9.3.1 顯示界面布局 134
9.3.2 實現過程 135
9.3.3 檢查權限授權 137
9.4 關鍵知識點解析 138
9.5 問題與討論 139
項目10 藍牙打印機 140
10.1 總體設計 140
10.1.1 總體分析 140
10.1.2 功能模塊框圖 140
10.1.3 系統流程圖 141
10.1.4 界面設計 141
10.2 詳細設計 142
10.2.1 模塊描述 142
10.2.2 源文件組及其資源規劃 144
10.2.3 主要方法流程設計 147
10.3 代碼實現 148
10.3.1 顯示界面布局 148
10.3.2 控件設計實現 150
10.3.3 圖片算法處理 150
10.3.4 藍牙連接管理 151
10.3.5 搜索連接藍牙設備 152
10.4 關鍵知識點解析 153
10.5 問題與討論 154
項目11 簡信聊天—基于Socket的
即時通信應用 155
11.1 總體設計 155
11.1.1 總體分析 155
11.1.2 功能模塊框圖 155
11.1.3 系統流程圖 156
11.1.4 界面設計 156
11.2 詳細設計 157
11.2.1 模塊描述 157
11.2.2 源文件組及其資源規劃 159
11.2.3 主要方法流程設計 161
11.3 代碼實現 162
11.3.1 顯示界面布局 162
11.3.2 控件設計實現 163
11.3.3 發送接收消息 176
11.4 關鍵知識點解析 180
11.4.1 Socket定義 180
11.4.2 Socket與HTTP對比 180
11.4.3 使用Socket通信 180
11.5 問題與討論 182
項目12 易行打車 183
12.1 總體設計 183
12.1.1 總體分析 183
12.1.2 功能模塊框圖 183
12.1.3 系統流程圖 184
12.1.4 界面設計 185
12.2 詳細設計 185
12.2.1 模塊描述 185
12.2.2 源文件組及其資源規劃 187
12.2.3 主要方法流程設計 188
12.3 代碼實現 189
12.3.1 顯示界面布局 189
12.3.2 申請百度地圖API key 191
12.3.3 地圖組件的初始化與顯示頁面
基類設計 192
12.3.4 地圖操作與顯示類的設計實現 199
12.3.5 訂單列表和處理 204
12.4 關鍵知識點解析 208
12.4.1 路徑檢索和地圖標注 208
12.4.2 iOS的3種定位方式 214
12.5 問題與討論 216
- 輸水管線工程風險管理 [張勇 黨亥生 著]
- 民用航空飛機標準線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運河講談錄 [趙珩 著]
- 實用運籌學 [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統研究與開發 [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設計中的應用 [李艷秀 莊華偉 著]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- 辦公自動化高級應用 [陳萍 朱曉玉]
- 信息處理技術員考試32小時通關 [薛大龍]
- 電子產品設計案例教程(微課版)—基于嘉立創EDA(專業版) [王靜 莫志宏 陳學昌 丁紅]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 商務英語翻譯教程(筆譯)(第四版) [主編 王軍平]
- 智慧零售技術與應用 [洪旭 著]
- 建設工程法規實務 [主編 余瀅]
- 商務秘書理論與實務(第三版) [主編 張同欽]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 信息系統項目管理師章節習題與考點特訓(第二版) [主編 薛大龍]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習題集(多學時) [主編 趙軍]
- HCIA-Datacom認證題庫分類精講 [主 編 韓立剛]
- SwiftUI完全開發 [李智威 著]
- 網絡規劃設計師備考一本通 [夏杰 編著]