0%

深入理解Android网络编程 技术详解与最佳实践

基本信息

名称: 深入理解Android网络编程 技术详解与最佳实践
作者信息: 作者: 陈文 [ 中文 pdf ]

简单介绍

系统讲解Android网络编程的各项核心技术和功能模块,多个案例解读Android网络编程的方法和技巧 从源码角度深入解析Android核心网络处理方法和关键应用的实现原理,包含大量最佳实践

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
前言
第一篇概述篇
第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.3Hello 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.3IP、TCP和UDP协议26
2.2在 Android中使用TCP、UDP协议31
2.2.1Socket基础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.2Post和Get在HttpClient的使用58
3.2.3实战案例:使用HttpClient和URLConnection访问维基百科60
3.3Android处理JSON64
3.3.1JSON简介64
3.3.2JSON数据解析65
3.3.3JSON打包67
3.3.4实战案例:JSON解析wikipedia内容68
3.4Android处理SOAP71
3.4.1SOAP简介71
3.4.2SOAP消息72
3.4.3实战案例:SOAP解析天气服务74
3.5Android对HTML的处理79
3.5.1解析HTML79
3.5.2HTML适配屏幕80
3.5.3JavaScript混合编程81
3.5.4实战案例:Android自定义打开HTML页面87
3.6小结91
第4章Android常见网络接口编程92
4.1Android解析和创建XML92
4.1.1XML简介92
4.1.2DOM解析XML97
4.1.3SAX解析XML102
4.1.4PULL解析XML108
4.1.5实战案例:Android中创建XML110
4.2Android订阅RSS113
4.2.1RSS简介113
4.2.2实战案例:简单RSS阅读器115
4.3AndroidEmail编程122
4.3.1Android发送Email122
4.3.2实战案例:Android下Email的Base64加密123
4.4Android网络安全125
4.4.1Android网络安全简介125
4.4.2Android加密和解密127
4.4.3实战案例:Android应用添加签名133
4.5OAuth认证135
4.5.1OAuth简介135
4.5.2实战案例:使用OAuth接口137
4.6小结139
第5章Android网络模块编程141
5.1Android地图和定位141
5.1.1获取map—api密钥141
5.1.2获取位置144
5.1.3实战案例:利用MapView显示地图146
5.2USB编程150
5.2.1USB主从设备150
5.2.2USBAccessoryMode151
5.2.3USBHostMode157
5.2.4实战案例:Android和Arduino交互159
5.3Wi—Fi编程168
5.3.1AndroidWi—Fi相关类168
5.3.2AndroidWi—Fi基本操作171
5.3.3实战案例:使用Wi—Fi直连方式传输文件177
5.4蓝牙编程185
5.4.1蓝牙简介185
5.4.2Android蓝牙API分析185
5.4.3Android蓝牙基本操作187
5.4.4实战案例:蓝牙连接192
5.5NFC编程简介197
5.5.1NFC技术简介197
5.5.2NFCAPI简介198
5.5.3NFC处理流程分析199
5.6小结205
第6章Android线程、数据存取、缓存和UI同步206
6.1Android线程206
6.1.1Android线程模型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.4SQLiteDatabases数据存储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.1Android中的缓存机制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.1SIP协议简介249
7.2SIP服务器搭建250
7.2.1下载安装BrekekeSIPServer250
7.2.2访问服务器251
7.2.3启动服务器252
7.3SIP程序设置253
7.3.1Android SIPAPI中的类和接口253
7.3.2Android极限列表253
7.3.3完整的Manifest文件254
7.4SIP初始化通话255
7.4.1SipManager对象255
7.4.2SipProfile对象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.1XMPP协议简介271
8.2使用Openfire搭建XMPP服务器272
8.3登录XMPP服务器276
8.3.1Asmack相关类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.1AndroidHTML处理关键类290
9.2HTMLViewer分析292
9.3浏览器源代码解析296
9.3.1WebView加载入口分析296
9.3.2调用JavaScript接口299
9.4WebKit简单分析300
9.4.1HTTPCache管理300
9.4.2Cookie管理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.8WebStorage306
9.4.9处理UI307
9.4.10Web设置分析309
9.4.11HTML5音视频处理309
9.4.12缩放和下载311
9.4.13插件管理311
9.5小结313
第10章Android网络处理分析314
10.1Android网络处理关键类及其说明314
10.2Android网络处理流程315
10.2.1监控网络连接状态315
10.2.2认证类316
10.2.3DHCP状态机317
10.2.4LocalServerSocket318
10.2.5响应邮件请求320
10.2.6提供网络信息323
10.2.7Proxy类324
10.2.8VPN服务325
10.3Android封装的HTTP处理类326
10.3.1AndroidHttpClient类和DefaultHttpClient类326
10.3.2SSL认证信息处理类327
10.3.3SSL错误信息处理328
10.3.4AndroidHttpClient328
10.4AndroidRTP协议329
10.4.1传输音频码330
10.4.2AudioGroup331
10.4.3语音流RtpStream和AudioStream332
10.5AndroidSIP协议333
10.5.1SIP通话简介334
10.5.2SIP初始化335
10.5.3SipProfile336
10.5.4SipSession337
10.5.5SIP包错误处理338
10.6小结339
第11章Android网络应用分析340
11.1Android中使用SAX解析XML340
11.1.1几种XML解析方式讨论340
11.1.2SAX解析XML的原理341
11.1.3SAX发现XML的根元素342
11.1.4SAX发现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.1MTP和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

亚马逊链接

欢迎关注我的其它发布渠道