作品介绍

深入理解Android网络编程


作者:陈文/郭依正     整理日期:2017-02-27 23:47:06


  这是一本Android网络编程方面的专著,旨在帮助开发者们高效地编写出高质量的Android网络应用。不仅系统讲解了Android网络编程的各项核心技术和功能模块,通过多个案例解读了Android网络编程的方法和技巧,而且从源码角度深入解析了Android核心网络处理方法和关键应用的实现原理,包含大量最佳实践。
  全书共11章,分为三个部分:概述篇(第1章)在介绍了Android开发平台后,重点讲解了Android网络程序的功能及开发环境的配置,引领读者走进Android网络编程的大门;实战篇(第2~8章),详细讲解了TCP、UDP、HTTP等基本网络协议在Android上的应用,展示了使用Android处理JSON、SOAP、HTML、XML等数据的方法,讲解了Android中的RSS编程、Email编程、OAuth认证等,解析了Android中Locations、Maps、USB、Wi-Fi、Bluetooth、NFC等网络模块的编程,讨论了Android中线程、数据存取、消息缓存、界面更新等的处理方法,探讨了SIP、XMPP等协议在Android上的应用;源码分析篇(第9~11章)分析了Android中与HTML处理、网络处理以及部分网络应用相关的源代码,帮助读者从底层原理上加深对相关知识点的理解。 作者简介
  陈文 资深Android开发工程师,深入分析过Android系统的源代码,对Android系统的底层原理有非常深入的认识,尤其是与网络编程相关的功能模块。精通XMPP协议和企业级云端系统的构建,现从事移动互联网系统的框架设计和研发工作。此外,他对Java、HMTL 5、Web数据挖掘、个性化搜索引擎等技术也有一定的研究。

目录:
  序
  前言
  第一篇 概述篇
  第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 java script混合编程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 调用java script接口299
  9.4 WebKit简单分析300
  9.4.1 HTTP Cache管理300
  9.4.2 Cookie管理301
  9.4.3 处理HTTP认证以及证书302
  9.4.4 处理java script的请求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





上一本:世纪幽灵 下一本:工程师的良知

作家文集

下载说明
深入理解Android网络编程的作者是陈文/郭依正,全书语言优美,行文流畅,内容丰富生动引人入胜。为表示对作者的支持,建议在阅读电子书的同时,购买纸质书。

更多好书