《深入理解Android网络编程》

        在序中有这么一句话让我产生了共鸣,每一个团队成员都能以主人翁的心态去面对一切挫折并积极考虑解决方案。我自己对这句话的理解就是,你只有永远把你手里的事当作自己的事来做,才有可能把一件事真正的做好,也只有这样才能开发真正优秀的产品,也许我们不能要求一个公司所有的人都有这样的觉悟,但由二八原则至少这个公司那20%拿主意的人必须真正的拥有这样意识和心态。序中还提到了管理学大师彼得.德鲁克

         最近开始码项目中网络通信部分的代码了,所以还是找了本介绍Android网络方面的书!

  为什么要写这本书?
  随着Android平台市场占有率的稳步上升,Android应用的数量和种类越来越多,涉及的范围也越来越大。从单机应用发展到联网应用,再到云端体系,其发挥的作用越来越重要。
  Android移动开发领域正处在一个转折点:移动用户的需求日益增长,他们希望在移动终端上拥有一个永远在线的个人管理中心;开发者希望手机成为互联网移动终端,以扩展互联网应用的广度和深度;企业希望在手机平台上实现更多的管理和应用,随时随地保持沟通,进而使企业低成本、高效率地运营。这些需求更多地表现在Android的互联网应用方面,其技术核心正是Android网络编程的相关知识。
  不断扩展网络相关应用是Android平台的主要方向,Android网络编程不但能够实现信息的实时交互、在线存储和计算等基础应用,甚至可以实现移动办公、电子商务等复杂逻辑,进而实现无处不在的移动应用。Android开发者们了解Android网络编程相关的知识,将能更加快速高效地编写Android网络应用。

        在一个项目的启动、设计、开发、测试、发布、整个流程中,我们必须有一种能力,这种能力就是我们必须能够把自己放在不同的角色想进行思考,比如说,实际的使用者,企业的管理者,项目开发人员,只有都从这些角度考虑了才能在遇到一些问题的决策时有根可循。我举个例子:有个项目中我们对一个呼叫功能是否需要做出了讨论,从实际的使用用户的角度来说,因为客观的使用环境就是在一个20平米的房子里,被呼叫人员就一直在屋内,所以直接用声音就可以很轻松容易的达到了呼叫的目的。可是从管理者的角度来说他们需要考核被呼叫人员对呼叫的响应速度,所以这个功能就必须有了。最后我们权衡下来就必须有这个功能。这其实也印证了《人性的弱点》中说过的一段话:成功的人际关系在于你捕捉对方观点的能力;还有,看一件事须兼顾你和对方的不同角度。

  全书共分为三个部分。
  第一部分为概述篇,即第1章,这部分在简介了Android开发平台后,重点讲解了Android网络程序的功能及开发环境的配置,引导读者走进Android网络编程的大门。
  第二部为实战篇,包括第2章到第8章,这部分介绍了基本的网络协议TCP、UDP、HTTP等在Android上的应用;讲解了使用Android处理JSON( JavaScript Object Notation)、SOAP(Simple Object Access Protocol)、HTML、XML等数据的方法,同时讲解了Android中的RSS(Rich Site Summary)编程、Email编程、OAuth(Open Authorization)认证等;解析了Android中Locations、Maps、USB、Wi-Fi、Bluetooth、NFC等网络模块的编程;讨论了Android中线程、数据存取、消息缓存、界面更新等的处理方法;探讨了SIP(Session Initiation Protocol)会话协议XMPP(Extensible Messaging and Presence Protocol)等协议在Android上的应用。
  第三部分为源码分析篇,包括第9章到第11章,这部分分析了Android中与HTML处理、网络处理以及部分网络应用相关的源码。读者通过阅读这部分内容,可以进一步加深对相关知识点的理解。
  以下是各章内容的分述:
  第1章:认识Android和Android网络程序的工作原理,简单介绍Android的发展、功能特性、系统构架,重点讲解Android网络编程和设置Android开发环境,探讨用Android编写网络程序的一般步骤并给出简单的Android网络编程的实践案例。
  第2章:介绍支撑Internet的TCP/IP网络模型,重点讨论其中的TCP、UDP协议,讲解基于TCP及UDP协议的Socket编程,并通过聊天程序、FTP客户端及Telnet客户端等案例讲解Socket编程的实践方法。
  第3章:介绍HTTP协议,讨论如何使用Android处理JSON、SOAP、HTML。案例部分给出了基于HTTP协议的文件上传、使用HttpClient和URLConnection访问维基百科、JSON解析wikipedia内容、SOAP解析天气服务及Android自定义打开HTML页面等内容。
  第4章:介绍Android解析XML文件的三种方式,即DOM(Document Object Model)、SAX(simple API for XML)、PULL,讨论Android中RSS编程、Email编程等,同时还介绍与Android安全相关的知识,重点讲解Android加密解密及OAuth认证。
  第5章:介绍Android中常用的网络编程组件,包括解析Locations、Maps、USB、Wi-Fi、Bluetooth等重要通信接口在Android上的使用方法,并结合具体案例介绍这些接口的一般使用方法。
  第6章:介绍Android线程机制以及数据存取、消息缓存、UI同步的方法。在线程部分重点讲解利用AsyncTask实现Android多线程应用开发;在数据存取部分介绍Shared Preferences、Internal Storage、External Storage、SQLite Database及Network Connection等5种存储永久性应用程序数据的方法;在消息缓存部分介绍Android本地存储的缓存机制;在UI同步部分讲解了在加载数据前、刷新数据时、完成任务时更新界面的方法。
  第7章:介绍如何使用SIP协议构建VoIP应用。详细阐述了使用Brekeke SIP Server搭建SIP服务器的方法,从设置应用程序的权限到初始化和监听SIP通话,逐步介绍Android中实现SIP通话的一般步骤。
  第8章:介绍如何使用XMPP协议在Android上建立即时通信应用。包括如何使用Openfire搭建XMPP服务器,客户端如何使用Asmack登录服务器。
  第9章:分析Android中与HTML处理相关的源码。重点讲解WebView对HTML文档的处理,涉及WebView加载入口的分析及在WebView中如何调用JavaScript等。同时解析WebKit内核,分析WebKit下一些比较重要的类。
  第10章:分析Android中与网络处理相关的源码。重点分析Android网络处理的流程,包括网络状态监控、网络认证、DHCP处理、网络代理等相关内容。此外,介绍AndroidHttpClient及SSL认证,分析与RTP协议和SIP协议相关的源码。
  第11章:分析Android中部分与网络应用相关的源码。重点分析Android中使用SAX方式解析XML时如何发现XML根元素与子元素,讲解Android中如何实现基于位置的服务,同时简介媒体传输协议(MTP)的概念,对MTP设备、MTP设备上的对象与存储单元等进行具体分析。

你可能感兴趣的:(Reading,Notes)