內容簡介
iphone 4是蘋果公司最新推出的以ios 4為作業系統的智慧型手機。本書循序漸進地講述如何使用iphone sdk 4開發iphone 4應用程式的基礎知識和開發方法,每章都提供1~3個實例詳解iphone 4的套用開發實用技術。
全書內容包括:搭建編程環境、iphone應用程式的整體結構和開發模式、objective-c語言、應用程式的調試、視圖和圖像、控制器、數據本地存放和表視圖、雲計算平台的集成、gps、地圖和通訊錄、照片、音樂和電影播放、遊戲(包括手機間通信)、ipad編程等等內容;最後一章講解了性能調試、單元測試、套用註冊等高級話題。
本書內容豐富,範例代碼完整,各級軟體開發人員都能通過本書快速學習並掌握iphone 4的套用開發,提高開發技能。
作者簡介
楊正洪 畢業於美國State University of New York at Stony Brook和中國科學院軟體研究所,計算機碩士,目前供職於美國IBM公司,之前曾擔任過兩家IT公司的技術總監,並在國內和美國出版過多本技術專著。
蘇偉基 畢業於美國加州伯克利大學和史丹福大學,計算機碩土,曾經任職於摩托羅拉公司和IBM公司,目前供職乾美國eBay公司,並擁有一項美國專利。
目錄
第1章 手機套用概述
1.1 國內智慧型手機套用現狀 2
1.2 iphone手機套用現狀 2
1.3 iphone手機特徵 4
1.4 手機套用分類 6
1.4.1 教育工具 6
1.4.2 生活工具 6
1.4.3 社交套用 7
1.4.4 定位工具 7
1.4.5 遊戲 8
1.4.6 報紙和雜誌的閱讀器 8
1.4.7 移動辦公套用 9
1.4.8 財經工具 9
1.4.9 手機購物套用 10
1.4.10 風景區相關的套用 10
1.4.11 旅行相關的套用 11
1.4.12 導航工具 11
1.4.13 企業套用 12
1.5 手機作業系統 12
1.5.1 iphone 作業系統ios4.1 12
1.5.2 Android作業系統 14
1.6 iPhone應用程式開發 15
1.6.1 開發iPhone應用程式的先期條件 15
1.6.2 iPhoneSDK 15
1.6.3 開發iPhone套用的網上資料 16
1.7 本書實例介紹 16
第2章 配置iPhone開發環境
2.1 準備開發環境 25
2.1.1 註冊為蘋果開發員 25
2.1.2 下載並安裝iPhoneSDK開發工具包的步驟 29
2.2 編寫第一個iPhone應用程式 32
2.2.1 創建Xcode項目 32
2.2.2 在iPhone模擬器上運行第一個應用程式 34
2.2.3 Xcode項目結構 35
2.2.4 在界面創建器(InterfaceBuilder)上設計界面 37
2.3 Xcode幫助中心 40
第3章 iPhone開發模式
3.1 MVC模式 43
3.1.1 View(視圖) 44
3.1.2 視圖控制器 45
3.2 Target-Action模式 45
3.3 Delegation模式 47
3.4 MVC實例 48
3.4.1 在InterfaceBuilder上添加對象的步驟 49
3.4.2 在Xcode上編寫控制器代碼 54
3.4.3 關聯UI對象和控制器(設定Target-Action) 57
3.4.4 運行第2個應用程式 60
3.5 套用生命周期 60
3.5.1 main和UIApplicationMain 61
3.5.2 裝載主xib 61
3.5.3 執行委託類上的回調方法 62
3.5.4 處理事件 62
3.5.5 暫停或者結束應用程式 63
3.6 Info.plist檔案 63
第4章 Objective-C程式語言
4.1 面向對象技術 67
4.1.1 封裝 67
4.1.2 繼承 67
4.1.3 多態 68
4.2 與C/C++不同之處 68
4.2.1 聲明方法的格式和特殊數據類型 68
4.2.2 字元串NSString 70
4.2.3 調用方法的格式 71
4.2.4 選擇器SEL 72
4.2.5 協定(protocol)和委託(delegate)類 73
4.2.6 通知(Notification) 73
4.3 Objective-C類 75
4.3.1 Class類(獲取對象所屬的類) 75
4.3.2 NSObject(所有類的基類) 76
4.3.3 數組(NSArray)和集合(NSSet) 76
4.3.4 字典類(NSDictionary) 77
4.3.5 枚舉訪問 78
4.4 創建自己的類 79
4.5 Objective-C上的記憶體管理 81
4.5.1 引用計數器(retainCount) 81
4.5.2 自動釋放(autorelease)池 82
4.5.3 didReceiveMemoryWarning方法 83
4.6 @property和@synthesize 83
4.7 多事件處理實例 84
4.8 UIKit框架 88
第5章 iPhone應用程式的調試
5.1 調試模式和發布模式 90
5.2 確認類的方法和屬性 91
5.3 日誌 92
5.4 調試iPhone程式 94
5.4.1 程式中的錯誤 94
5.4.2 斷點調試 95
第6章 視圖、圖形和圖像
6.1 視圖(View) 103
6.1.1 UIView 103
6.1.2 Frame和Bound 105
6.1.3 添加視圖實例 106
6.2 畫圖 108
6.2.1 顏色和字型 108
6.2.2 drawRect方法 108
6.2.3 畫圖實例 109
6.2.4 CoreGraphicsAPI 114
6.3 圖像 117
6.3.1 UIImage 117
6.3.2 圖像的滾動、放大和縮小(UIScrollView) 118
6.3.3 操作圖像實例 120
6.4 移動圖像 126
6.4.1 UITouch 127
6.4.2 UIResponder 127
6.4.3 圖像移動實例 128
第7章 控制器、導航控制器和標籤欄控制器
7.1 套用界面結構 136
7.2 UIViewController 137
7.2.1 定義視圖控制器 137
7.2.2 視圖控制器中的視圖 138
7.2.3 視圖控制器生命周期 139
7.2.4 支持旋轉手機功能 140
7.3 導航控制器(UINavigationController) 141
7.3.1 堆疊式管理 141
7.3.2 在兩個頁之間導航實例 143
7.3.3 在兩個頁之間傳遞數據 151
7.3.4 UINavigationItem和UIBarButtonItem 155
7.3.5 定製返回按鈕 156
7.3.6 在導航控制欄上添加系統按鈕和左右按鈕 157
7.4 標籤欄控制器(UITabBarController) 159
7.4.1 標籤控制器的創建和管理 160
7.4.2 標籤欄控制器實例 161
7.4.3 UITabBarItem 164
第8章 iPhone數據的輸入、顯示和保存
8.1 iPhone上的數據存放 170
8.1.1 屬性列表(NSUserDefaults) 170
8.1.2 iPhone檔案系統 171
8.1.3 核心數據(CoreData)庫 173
8.1.4 CoreData實例 174
8.2 表視圖(UITableView) 186
8.2.1 表視圖類型 186
8.2.2 UITableViewDataSource 188
8.2.3 TableCell(表單元) 190
8.2.4 選中某一行後的處理 192
8.2.5 UITableViewController 193
8.3 表視圖實例 193
8.4 數據錄入和虛擬鍵盤 200
第9章 手機套用和雲計算平台的集成
9.1 操作XML數據 203
9.2 JSON 205
9.2.1 JSON數據的結構 205
9.2.2 iPhone套用中操作JSON數據 206
9.2.3 JSON實例 207
9.3 調用雲服務的手機套用的架構 215
9.4 網頁視圖 218
9.4.1 UIWebView 218
9.4.2 網頁視圖實例 219
9.4.3 loadHTMLString方法 224
9.5 多執行緒編程和NSOperation 225
9.5.1 多執行緒 225
9.5.2 NSOperation和NSOperationQueue 226
第10章 GPS、地圖和通訊錄編程
10.1 位置類 233
10.1.1 CLLocation 234
10.1.2 CLLocationManager 234
10.1.3 位置類例子 236
10.2 地圖 237
10.2.1 MapKit框架 238
10.2.2 MKMapView 238
10.2.3 MKPlacemark、MKUserLocation和MKReverseGeocoder 239
10.3 地圖實例 240
10.3.1 顯示地圖 240
10.3.2 在地圖上標記位置 246
10.3.3 根據位置找到地址信息 247
10.3.4 獲取當前位置 248
10.4 通訊錄 249
10.4.1 選取通訊錄上的聯繫人 250
10.4.2 ABPeoplePickerNavigationController使用實例 253
10.4.3 使用presentModalViewController彈出和關閉視圖 257
10.4.4 查詢並更新通訊錄上的聯繫人 258
10.4.5 顯示和編輯一個聯繫人信息 259
10.4.6 添加新聯繫人 260
10.4.7 查詢和更新通訊錄實例 261
第11章 與照片相關的編程
11.1 拷貝照片到iPhone模擬器 268
11.2 從相冊中讀取照片 269
11.3 保存照片到相冊 277
第12章 音頻和視頻編程
12.1 音頻API 279
12.1.1 系統聲音API 279
12.1.2 聲音播放器(AVAudioPlayer) 280
12.1.3 錄音 280
12.1.4 訪問資料庫中的音樂 281
12.1.5 其他API 282
12.2 音頻操作實例 282
12.3 視頻 287
12.4 視頻實例 288
第13章 遊戲和iPad編程
13.1 旋轉或晃動手機 293
13.2 設備之間通信 296
13.2.1 Bonjour 296
13.2.3 GameKit 298
13.2.4 GameKit實例 300
13.3 iPad開發 305
第14章 高級話題
14.1 性能調試 310
14.1.1 記憶體泄露 310
14.1.2 性能監控工具Instruments 311
14.2 套用測試(OCUnit) 313
14.3蘋果推服務(ApplePushNotificationService) 319
14.4 套用設定 321
14.5 應用程式國際化 325
14.6 發布應用程式 328
14.7 iPhone企業套用 329
14.8 其他話題 331