编辑推荐
系统讲解Android网络编程的各项核心技术和功能模块,多个案例解读Android网络编程的方法和技巧
从源码角度深入解析Android核心网络处理方法和关键应用的实现原理,包含大量**实践
内容推荐
这是一本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、HMTL5、Web数据挖掘、个性化搜索引擎等技术也有一定的研究。
目录
序
前言
第一篇 概述篇
第1章 Android网络编程概要
1.1 Android简介
1.1.1 Android的发展
1.1.2 Android功能特性
1.1.3 Android系统构架
1.2 Android网络程序的功能
1.2.1 通信功能
1.2.2 及时分享
1.2.3 个人管理
1.2.4 娱乐游戏
1.2.5 企业应用
1.3 设置Android开发环境
1.3.1 相关下载
1.3.2 安装ADT
1.3.3 Hello World!
1.4 网络应用实战案例
1.4.1 加载一个页面
1.4.2 下载一个页面
1.5 小结
第二篇 实战篇
第2章 Android基本网络技术和编程实践
2.1 计算机网络及其协议
2.1.1 计算机网络概述
2.1.2 网络协议概述
2.1.3 IP、TCP和UDP协议
2.2 在Android中使用TCP、UDP协议
2.2.1 Socket基础
2.2.2 使用TCP通信
2.2.3 使用UDP通信
2.3 Socket实战案例
2.3.1 Socket聊天举例
2.3.2 FTP客户端
2.3.3 Telnet客户端
2.4 小结
第3章 Android基本Web技术和编程实践
3.1 HTTP协议
3.1.1 HTTP简介
3.1.2 实战案例:基于HTTP协议的文件上传
3.2 Android中的HTTP编程
3.2.1 HttpClient和URLConnection
3.2.2 Post和Get在HttpClient的使用
3.2.3 实战案例:使用HttpClient和URLConnection访问维基百科
3.3 Android处理JSON
3.3.1 JSON简介
3.3.2 JSON数据解析
3.3.3 JSON打包
3.3.4 实战案例:JSON解析wikipedia内容
3.4 Android处理SOAP
3.4.1 SOAP简介
3.4.2 SOAP消息
3.4.3 实战案例:SOAP解析天气服务
3.5 Android对HTML的处理
3.5.1 解析HTML
3.5.2 HTML适配屏幕
3.5.3 JavaScript混合编程
3.5.4 实战案例:Android自定义打开HTML页面
3.6小结
第4章 Android常见网络接口编程
4.1 Android解析和创建XML
4.1.1 XML简介
4.1.2 DOM解析XML
4.1.3 SAX解析XML
4.1.4 PULL解析XML
4.1.5 实战案例:Android中创建XML
4.2 Android订阅RSS
4.2.1 RSS简介
4.2.2 实战案例:简单RSS阅读器
4.3 Android Email编程
4.3.1 Android发送Email
4.3.2 实战案例:Android下Email的Base64加密
4.4 Android网络安全
4.4.1 Android网络安全简介
4.4.2 Android加密和解密
4.4.3 实战案例:Android应用添加签名
4.5 OAuth认证
4.5.1 OAuth简介
4.5.2 实战案例:使用OAuth接口
4.6 小结
第5章 Android网络模块编程
5.1 Android地图和定位
5.1.1 获取map-api密钥
5.1.2 获取位置
5.1.3 实战案例:利用MapView显示地图
5.2 USB编程
5.2.1 USB主从设备
5.2.2 USB Accessory Mode
5.2.3 USB Host Mode
5.2.4 实战案例:Android和Arduino交互
5.3 Wi-Fi编程
5.3.1 Android Wi-Fi相关类
5.3.2 Android Wi-Fi基本操作
5.3.3 实战案例:使用Wi-Fi直连方式传输文件
5.4 蓝牙编程
5.4.1 蓝牙简介
5.4.2 Android蓝牙API分析
5.4.3 Android蓝牙基本操作
5.4.4 实战案例:蓝牙连接
5.5 NFC编程简介
5.5.1 NFC技术简介
5.5.2 NFC API简介
5.5.3 NFC处理流程分析
5.6 小结
第6章 Android线程、数据存取、缓存和UI同步
6.1 Android线程
6.1.1 Android线程模型
6.1.2 异步任务类
6.1.3 实战案例:利用AsyncTask实现多线程下载
6.2 数据存取
6.2.1 Shared Preferences数据存储
6.2.2 Internal Storage数据存储
6.2.3 External Storage数据存储
6.2.4 SQLite Databases数据存储
6.2.5 实战案例:SQLite数据库操作
6.3 网络判定
6.3.1 判断用户是否连接
6.3.2 判断网络连接的类型
6.3.3 监控网络连接改变
6.3.4 实战案例:根据广播消息判断网络连接情况
6.4 消息缓存
6.4.1 Android中的缓存机制
6.4.2 实战案例:下载、缓存和显示图片
6.5 界面更新
6.5.1 刷新数据时的界面更新
6.5.2 完成任务时的界面更新
6.5.3 实战案例:自定义列表显示更新
6.6 小结
第7章 基于SIP协议的VoIP应用
7.1 SIP协议简介
7.2 SIP服务器搭建
7.2.1 下载安装Brekeke SIP Server
7.2.2 访问服务器
7.2.3 启动服务器
7.3 SIP程序设置
7.3.1 Android SIP API中的类和接口
7.3.2 Android极限列表
7.3.3 完整的Manifest文件
7.4 SIP初始化通话
7.4.1 SipManager对象
7.4.2 SipProfile对象
7.5 监听SIP通话
7.5.1 创建监听器
7.5.2 拨打电话
7.5.3 接收呼叫
7.6 实战案例:SIP通话
7.7 小结
第8章 基于XMPP协议的即时通信应用
8.1 XMPP协议简介
8.2 使用Openfire搭建XMPP服务器
8.3 登录XMPP服务器
8.3.1 Asmack相关类
8.3.2 登录XMPP服务器
8.4 联系人相关操作
8.4.1 获取联系人列表
8.4.2 获取联系人状态
8.4.3 添加和删除联系人
8.4.4 监听联系人添加信息
8.5 消息处理
8.5.1 接收消息
8.5.2 发送消息
8.6 实战案例:XMPP多人聊天
8.6.1 创建新多人聊天室
8.6.2 加入聊天室
8.6.3 发送和接收消息
8.7 小结
第三篇 源码分析篇
第9章 Android对HTML的处理
9.1 Android HTML处理关键类
9.2 HTMLViewer分析
9.3 浏览器源代码解析
9.3.1 WebView加载入口分析
9.3.2 调用JavaScript接口
9.4 WebKit简单分析
9.4.1 HTTP Cache管理
9.4.2 Cookie管理
9.4.3 处理HTTP认证以及证书
9.4.4 处理JavaScript的请求
9.4.5 处理MIME类型
9.4.6 访问WebView的历史
9.4.7 保存网站图标
9.4.8 WebStorage
9.4.9 处理UI
9.4.10 Web设置分析
9.4.11 HTML5音视频处理
9.4.12 缩放和下载
9.4.13 插件管理
9.5 小结
第10章 Android网络处理分析
10.1 Android网络处理关键类及其说明
10.2 Android网络处理流程
10.2.1 监控网络连接状态
10.2.2 认证类
10.2.3 DHCP状态机
10.2.4 LocalServerSocket
10.2.5 响应邮件请求
10.2.6 提供网络信息
10.2.7 Proxy类
10.2.8 VPN服务
10.3 Android封装的HTTP处理类
10.3.1 AndroidHttpClient类和DefaultHttpClient类
10.3.2 SSL认证信息处理类
10.3.3 SSL错误信息处理
10.3.4 AndroidHttpClient
10.4 Android RTP协议
10.4.1 传输音频码
10.4.2 AudioGroup
10.4.3 语音流RtpStream和AudioStream
10.5 Android SIP协议
10.5.1 SIP通话简介
10.5.2 SIP初始化
10.5.3 SipProfile
10.5.4 SipSession
10.5.5 SIP包错误处理
10.6 小结
第11章 Android网络应用分析
11.1 Android中使用SAX解析XML
11.1.1 几种XML解析方式讨论
11.1.2 SAX解析XML的原理
11.1.3 SAX发现XML的根元素
11.1.4 SAX发现XML的子元素
11.2 基于位置的服务
11.2.1 位置服务的基本概念
11.2.2 位置服务的基本类
11.2.3 调用Google地图
11.2.4 根据位置刷新地图显示
11.3 媒体传输协议
11.3.1 MTP和PTP简介
11.3.2 定义MTP和PTP的类型
11.3.3 封装MTP设备信息
11.3.4 封装MTP对象的信息
11.3.5 封装MTP设备上存储单元的信息
11.4 小结