深入理解Android网路编程


深入理解Android网路编程

文章插图
深入理解Android网路编程【深入理解Android网路编程】《深入理解Android网路编程》是2013年机械工业出版社出版的图书,作者是陈文,郭依正 。
基本介绍作者:陈文/郭依正
ISBN:9787111435020
页数:362
定价:69.00
出版社:机械工业出版社
出版时间:2013-8-20
装帧:平装
副标题:技术详解与最佳实践
内容介绍这是一本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网路编程概要21.1 Android简介21.1.1 Android的发展21.1.2 Android功能特性31.1.3 Android系统构架41.2 Android网路程式的功能61.2.1 通信功能61.2.2 及时分享61.2.3 个人管理61.2.4 娱乐游戏71.2.5 企业套用71.3 设定Android开发环境71.3.1 相关下载71.3.2 安装ADT91.3.3 Hello World!111.4 网路套用实战案例171.4.1 载入一个页面171.4.2 下载一个页面211.5 小结21第二篇 实战篇第2章 Android基本网路技术和编程实践242.1 计算机网路及其协定242.1.1 计算机网路概述242.1.2 网路协定概述252.1.3 IP、TCP和UDP协定262.2 在Android中使用TCP、UDP协定312.2.1 Socket基础312.2.2 使用TCP通信342.2.3 使用UDP通信362.3 Socket实战案例392.3.1 Socket聊天举例392.3.2 FTP客户端412.3.3 Telnet客户端442.4 小结46第3章 Android基本Web技术和编程实践473.1 HTTP协定473.1.1 HTTP简介473.1.2 实战案例:基于HTTP协定的档案上传513.2 Android中的HTTP编程573.2.1 HttpClient和URLConnection573.2.2 Post和Get在HttpClient的使用583.2.3 实战案例:使用HttpClient和URLConnection访问维基百科603.3 Android处理JSON643.3.1 JSON简介643.3.2 JSON数据解析653.3.3 JSON打包673.3.4 实战案例:JSON解析wikipedia内容683.4 Android处理SOAP713.4.1 SOAP简介713.4.2 SOAP讯息723.4.3 实战案例:SOAP解析天气服务743.5 Android对HTML的处理793.5.1 解析HTML793.5.2 HTML适配萤幕803.5.3 JavaScript混合编程813.5.4 实战案例:Android自定义打开HTML页面873.6小结91第4章 Android常见网路接口编程924.1 Android解析和创建XML924.1.1 XML简介924.1.2 DOM解析XML974.1.3 SAX解析XML1024.1.4 PULL解析XML1084.1.5 实战案例:Android中创建XML1104.2 Android订阅RSS1134.2.1 RSS简介1134.2.2 实战案例:简单RSS阅读器1154.3 Android Email编程1224.3.1 Android传送Email1224.3.2 实战案例:Android下Email的Base64加密1234.4 Android网路安全1254.4.1 Android网路安全简介1254.4.2 Android加密和解密1274.4.3 实战案例:Android套用添加签名1334.5 OAuth认证1354.5.1 OAuth简介1354.5.2 实战案例:使用OAuth接口1374.6 小结139第5章 Android网路模组编程1415.1 Android地图和定位1415.1.1 获取map-api密钥1415.1.2 获取位置1445.1.3 实战案例:利用MapView显示地图1465.2 USB编程1505.2.1 USB主从设备1505.2.2 USB Accessory Mode1515.2.3 USB Host Mode1575.2.4 实战案例:Android和Arduino互动1595.3 Wi-Fi编程1685.3.1 Android Wi-Fi相关类1685.3.2 Android Wi-Fi基本操作1715.3.3 实战案例:使用Wi-Fi直连方式传输档案1775.4 蓝牙编程1855.4.1 蓝牙简介1855.4.2 Android蓝牙API分析1855.4.3 Android蓝牙基本操作1875.4.4 实战案例:蓝牙连线1925.5 NFC编程简介1975.5.1 NFC技术简介1975.5.2 NFC API简介1985.5.3 NFC处理流程分析1995.6 小结205第6章 Android执行绪、数据存取、快取和UI同步2066.1 Android执行绪2066.1.1 Android执行绪模型2066.1.2 异步任务类2116.1.3 实战案例:利用AsyncTask实现多执行绪下载2136.2 数据存取2146.2.1 Shared Preferences数据存储2156.2.2 Internal Storage数据存储2166.2.3 External Storage数据存储2176.2.4 SQLite Databases数据存储2196.2.5 实战案例:SQLite资料库操作2206.3 网路判定2276.3.1 判断用户是否连线2286.3.2 判断网路连线的类型2286.3.3 监控网路连线改变2286.3.4 实战案例:根据广播讯息判断网路连线情况2286.4 讯息快取2306.4.1 Android中的快取机制2306.4.2 实战案例:下载、快取和显示图片2316.5 界面更新2366.5.1 刷新数据时的界面更新2366.5.2 完成任务时的界面更新2376.5.3 实战案例:自定义列表显示更新2386.6 小结248第7章 基于SIP协定的VoIP套用2497.1 SIP协定简介2497.2 SIP伺服器搭建2507.2.1 下载安装Brekeke SIP Server2507.2.2 访问伺服器2517.2.3 启动伺服器2527.3 SIP程式设定2537.3.1 Android SIP API中的类和接口2537.3.2 Android极限列表2537.3.3 完整的Manifest档案2547.4 SIP初始化通话2557.4.1 SipManager对象2557.4.2 SipProfile对象2567.5 监听SIP通话2577.5.1 创建监听器2587.5.2 拨打电话2587.5.3 接收呼叫2597.6 实战案例:SIP通话2617.7 小结270第8章 基于XMPP协定的即时通信套用2718.1 XMPP协定简介2718.2 使用Openfire搭建XMPP伺服器2728.3 登录XMPP伺服器2768.3.1 Asmack相关类2768.3.2 登录XMPP伺服器2778.4 联繫人相关操作2798.4.1 获取联繫人列表2798.4.2 获取联繫人状态2808.4.3 添加和删除联繫人2808.4.4 监听联繫人添加信息2818.5 讯息处理2828.5.1 接收讯息2828.5.2 传送讯息2838.6 实战案例:XMPP多人聊天2838.6.1 创建新多人聊天室2848.6.2 加入聊天室2868.6.3 传送和接收讯息2878.7 小结288第三篇 源码分析篇第9章 Android对HTML的处理2909.1 Android HTML处理关键类2909.2 HTMLViewer分析2929.3 浏览器原始码解析2969.3.1 WebView载入入口分析2969.3.2 调用JavaScript接口2999.4 WebKit简单分析3009.4.1 HTTP Cache管理3009.4.2 Cookie管理3019.4.3 处理HTTP认证以及证书3029.4.4 处理JavaScript的请求3029.4.5 处理MIME类型3059.4.6 访问WebView的历史3069.4.7 保存网站图示3069.4.8 WebStorage3069.4.9 处理UI3079.4.10 Web设定分析3099.4.11 HTML5音视频处理3099.4.12 缩放和下载3119.4.13 外挂程式管理3119.5 小结313第10章 Android网路处理分析31410.1 Android网路处理关键类及其说明31410.2 Android网路处理流程31510.2.1 监控网路连线状态31510.2.2 认证类31610.2.3 DHCP状态机31710.2.4 LocalServerSocket31810.2.5 回响邮件请求32010.2.6 提供网路信息32310.2.7 Proxy类32410.2.8 VPN服务32510.3 Android封装的HTTP处理类32610.3.1 AndroidHttpClient类和DefaultHttpClient类32610.3.2 SSL认证信息处理类32710.3.3 SSL错误信息处理32810.3.4 AndroidHttpClient32810.4 Android RTP协定32910.4.1 传输音频码33010.4.2 AudioGroup33110.4.3 语音流RtpStream和AudioStream33210.5 Android SIP协定33310.5.1 SIP通话简介33410.5.2 SIP初始化33510.5.3 SipProfile33610.5.4 SipSession33710.5.5 SIP包错误处理33810.6 小结339第11章 Android网路套用分析34011.1 Android中使用SAX解析XML34011.1.1 几种XML解析方式讨论34011.1.2 SAX解析XML的原理34111.1.3 SAX发现XML的根元素34211.1.4 SAX发现XML的子元素34511.2 基于位置的服务34811.2.1 位置服务的基本概念34811.2.2 位置服务的基本类34811.2.3 调用Google地图35011.2.4 根据位置刷新地图显示35111.3 媒体传输协定35311.3.1 MTP和PTP简介35311.3.2 定义MTP和PTP的类型35411.3.3 封装MTP设备信息35711.3.4 封装MTP对象的信息35811.3.5 封装MTP设备上存储单元的信息36011.4 小结362