序
前言
第一篇 概述篇
第1章 Android網絡編程概要2
1.1 Android簡介2
1.1.1 Android的發展2
1.1.2 Android功能特性3
1.1.3 Android係統構架4
1.2 Android網絡程序的功能6
1.2.1 通信功能6
1.2.2 及時分享6
1.2.3 個人管理6
1.2.4 娛樂遊戲7
1.2.5 企業應用7
1.3 設置Android開發環境7
1.3.1 相關下載7
1.3.2 安裝ADT9
1.3.3 Hello World!11
1.4 網絡應用實戰案例17
1.4.1 加載一個頁麵17
1.4.2 下載一個頁麵21
1.5 小結21
第二篇 實戰篇
第2章 Android基本網絡技術和編程實踐24
2.1 計算機網絡及其協議24
2.1.1 計算機網絡概述24
2.1.2 網絡協議概述25
2.1.3 IP、TCP和UDP協議26
2.2 在Android中使用TCP、UDP協議31
2.2.1 Socket基礎31
2.2.2 使用TCP通信34
2.2.3 使用UDP通信36
2.3 Socket實戰案例39
2.3.1 Socket聊天舉例39
2.3.2 FTP客戶端41
2.3.3 Telnet客戶端44
2.4 小結46
第3章 Android基本Web技術和編程實踐47
3.1 HTTP協議47
3.1.1 HTTP簡介47
3.1.2 實戰案例:基於HTTP協議的文件上傳51
3.2 Android中的HTTP編程57
3.2.1 HttpClient和URLConnection57
3.2.2 Post和Get在HttpClient的使用58
3.2.3 實戰案例:使用HttpClient和URLConnection訪問維基百科60
3.3 Android處理JSON64
3.3.1 JSON簡介64
3.3.2 JSON數據解析65
3.3.3 JSON打包67
3.3.4 實戰案例:JSON解析wikipedia內容68
3.4 Android處理SOAP71
3.4.1 SOAP簡介71
3.4.2 SOAP消息72
3.4.3 實戰案例:SOAP解析天氣服務74
3.5 Android對HTML的處理79
3.5.1 解析HTML79
3.5.2 HTML適配屏幕80
3.5.3 JavaScript混閤編程81
3.5.4 實戰案例:Android自定義打開HTML頁麵87
3.6小結91
第4章 Android常見網絡接口編程92
4.1 Android解析和創建XML92
4.1.1 XML簡介92
4.1.2 DOM解析XML97
4.1.3 SAX解析XML102
4.1.4 PULL解析XML108
4.1.5 實戰案例:Android中創建XML110
4.2 Android訂閱RSS113
4.2.1 RSS簡介113
4.2.2 實戰案例:簡單RSS閱讀器115
4.3 Android Email編程122
4.3.1 Android發送Email122
4.3.2 實戰案例:Android下Email的Base64加密123
4.4 Android網絡安全125
4.4.1 Android網絡安全簡介125
4.4.2 Android加密和解密127
4.4.3 實戰案例:Android應用添加簽名133
4.5 OAuth認證135
4.5.1 OAuth簡介135
4.5.2 實戰案例:使用OAuth接口137
4.6 小結139
第5章 Android網絡模塊編程141
5.1 Android地圖和定位141
5.1.1 獲取map-api密鑰141
5.1.2 獲取位置144
5.1.3 實戰案例:利用MapView顯示地圖146
5.2 USB編程150
5.2.1 USB主從設備150
5.2.2 USB Accessory Mode151
5.2.3 USB Host Mode157
5.2.4 實戰案例:Android和Arduino交互159
5.3 Wi-Fi編程168
5.3.1 Android Wi-Fi相關類168
5.3.2 Android Wi-Fi基本操作171
5.3.3 實戰案例:使用Wi-Fi直連方式傳輸文件177
5.4 藍牙編程185
5.4.1 藍牙簡介185
5.4.2 Android藍牙API分析185
5.4.3 Android藍牙基本操作187
5.4.4 實戰案例:藍牙連接192
5.5 NFC編程簡介197
5.5.1 NFC技術簡介197
5.5.2 NFC API簡介198
5.5.3 NFC處理流程分析199
5.6 小結205
第6章 Android綫程、數據存取、緩存和UI同步206
6.1 Android綫程206
6.1.1 Android綫程模型206
6.1.2 異步任務類211
6.1.3 實戰案例:利用AsyncTask實現多綫程下載213
6.2 數據存取214
6.2.1 Shared Preferences數據存儲215
6.2.2 Internal Storage數據存儲216
6.2.3 External Storage數據存儲217
6.2.4 SQLite Databases數據存儲219
6.2.5 實戰案例:SQLite數據庫操作220
6.3 網絡判定227
6.3.1 判斷用戶是否連接228
6.3.2 判斷網絡連接的類型228
6.3.3 監控網絡連接改變228
6.3.4 實戰案例:根據廣播消息判斷網絡連接情況228
6.4 消息緩存230
6.4.1 Android中的緩存機製230
6.4.2 實戰案例:下載、緩存和顯示圖片231
6.5 界麵更新236
6.5.1 刷新數據時的界麵更新236
6.5.2 完成任務時的界麵更新237
6.5.3 實戰案例:自定義列錶顯示更新238
6.6 小結248
第7章 基於SIP協議的VoIP應用249
7.1 SIP協議簡介249
7.2 SIP服務器搭建250
7.2.1 下載安裝Brekeke SIP Server250
7.2.2 訪問服務器251
7.2.3 啓動服務器252
7.3 SIP程序設置253
7.3.1 Android SIP API中的類和接口253
7.3.2 Android極限列錶253
7.3.3 完整的Manifest文件254
7.4 SIP初始化通話255
7.4.1 SipManager對象255
7.4.2 SipProfile對象256
7.5 監聽SIP通話257
7.5.1 創建監聽器258
7.5.2 撥打電話258
7.5.3 接收呼叫259
7.6 實戰案例:SIP通話261
7.7 小結270
第8章 基於XMPP協議的即時通信應用271
8.1 XMPP協議簡介271
8.2 使用Openfire搭建XMPP服務器272
8.3 登錄XMPP服務器276
8.3.1 Asmack相關類276
8.3.2 登錄XMPP服務器277
8.4 聯係人相關操作279
8.4.1 獲取聯係人列錶279
8.4.2 獲取聯係人狀態280
8.4.3 添加和刪除聯係人280
8.4.4 監聽聯係人添加信息281
8.5 消息處理282
8.5.1 接收消息282
8.5.2 發送消息283
8.6 實戰案例:XMPP多人聊天283
8.6.1 創建新多人聊天室284
8.6.2 加入聊天室286
8.6.3 發送和接收消息287
8.7 小結288
第三篇 源碼分析篇
第9章 Android對HTML的處理290
9.1 Android HTML處理關鍵類290
9.2 HTMLViewer分析292
9.3 瀏覽器源代碼解析296
9.3.1 WebView加載入口分析296
9.3.2 調用JavaScript接口299
9.4 WebKit簡單分析300
9.4.1 HTTP Cache管理300
9.4.2 Cookie管理301
9.4.3 處理HTTP認證以及證書302
9.4.4 處理JavaScript的請求302
9.4.5 處理MIME類型305
9.4.6 訪問WebView的曆史306
9.4.7 保存網站圖標306
9.4.8 WebStorage306
9.4.9 處理UI307
9.4.10 Web設置分析309
9.4.11 HTML5音視頻處理309
9.4.12 縮放和下載311
9.4.13 插件管理311
9.5 小結313
第10章 Android網絡處理分析314
10.1 Android網絡處理關鍵類及其說明314
10.2 Android網絡處理流程315
10.2.1 監控網絡連接狀態315
10.2.2 認證類316
10.2.3 DHCP狀態機317
10.2.4 LocalServerSocket318
10.2.5 響應郵件請求320
10.2.6 提供網絡信息323
10.2.7 Proxy類324
10.2.8 VPN服務325
10.3 Android封裝的HTTP處理類326
10.3.1 AndroidHttpClient類和DefaultHttpClient類326
10.3.2 SSL認證信息處理類327
10.3.3 SSL錯誤信息處理328
10.3.4 AndroidHttpClient328
10.4 Android RTP協議329
10.4.1 傳輸音頻碼330
10.4.2 AudioGroup331
10.4.3 語音流RtpStream和AudioStream332
10.5 Android SIP協議333
10.5.1 SIP通話簡介334
10.5.2 SIP初始化335
10.5.3 SipProfile336
10.5.4 SipSession337
10.5.5 SIP包錯誤處理338
10.6 小結339
第11章 Android網絡應用分析340
11.1 Android中使用SAX解析XML340
11.1.1 幾種XML解析方式討論340
11.1.2 SAX解析XML的原理341
11.1.3 SAX發現XML的根元素342
11.1.4 SAX發現XML的子元素345
11.2 基於位置的服務348
11.2.1 位置服務的基本概念348
11.2.2 位置服務的基本類348
11.2.3 調用Google地圖350
11.2.4 根據位置刷新地圖顯示351
11.3 媒體傳輸協議353
11.3.1 MTP和PTP簡介353
11.3.2 定義MTP和PTP的類型354
11.3.3 封裝MTP設備信息357
11.3.4 封裝MTP對象的信息358
11.3.5 封裝MTP設備上存儲單元的信息360
11.4 小結362
· · · · · · (
收起)