
范怀宇,资深Android开发工程师,毕业于清华大学,从事移动开发多年,对Android系统有颇为深入的研究,开发经验十分丰富。曾就职于网易有道,负责完成了有道词典Android版、网易掌上邮Android版、网易八方Android版等项目的开发工作,现就职于豌豆实验室 ,负责豌豆荚2.0版本的设计和开发。作者微博:@duguguiyu(http://weibo.com/duguguiyu)个人站点:http://flyvenus.net
《Android开发精要》如何才能写出贴近Android设计理念、能够更加高效和可靠运行的Android应用?通过Android的源代码去了解其底层实现细节是最重要的方法之一!然而,Android系统太过于庞大,源代码实现复杂,学习的技术门槛和时间成本都很高。有没有一种方法既能帮助开发者深入理解Android应用开发,又能不被底层大量的实现细节所羁绊,迅速掌握编写高质量Android应用所需的知识?《Android开发精要》针对这个问题给出了完美的答案!它从Android繁杂的源代码中抽取出了Android开发的“精华”和“要点”,剥离了大量琐碎的底层实现细节,进行了高度概括和总结,不仅能帮助开发者迅速从宏观上理解整个Android系统的设计理念,而且能帮助开发者迅速从微观上掌握核心知识点的原理,从而编写出高质量的Android应用。《Android开发精要》共13章,在逻辑上分为4个部分。第一部分(1-2章):第1章系统介绍了Android的系统架构、核心模块和设计思想,旨在让读者真正理解它的设计理念;第2章讲解了Android源代码的获取、编译、阅读和编辑的方法。第二部分(3-6章):第3章深入阐述了Android组件机制的设计理念和重要特征,并详细介绍了4大组件的方法和原理;第4章讲解了Intent对象和Android的意图机制,阐明了Android是如何将来自不同应用、不同进程的组件整合在一起的;第5章解析了Android中各个组件的生命周期,包括组件的进程模型和线程模型;第6章从开发的角度详细阐述了组件间数据传递的解决方案,以及它们的优缺点和适用场景。第三部分(7-8章):第7章深入讲解了Android的控件框架,结合实际项目对重要控件的实现和使用逐一进行了分析,还包含Android 4.0界面开发的实践“精华”;第8章分析了Android的资源体系,剖析了Android底层对资源的处理。第4部分(9-13章):第9章讲解了Android的数据存储结构,以及不同数据存储模式的使用要点;第10章分析了Android的各种网络连接方式,涵盖NFC和基于Wifi的P2P连接等内容;第11章讲解了Android的定位服务、地址解析服务、地图服务的框架实现;第12章仔细分析了Android各种多媒体功能的实现机制;第13章对Android中比较有特色的一些模块的实现细节进行了分析。海报:
前言致谢第1章 Android的系统架构/11.1 Android系统架构概况/21.1.1 应用层/41.1.2 框架层/51.1.3 运行时/51.1.4 核心类库/71.1.5 硬件抽象层和Linux内核/71.2 Android的核心功能模块/81.2.1 界面框架/81.2.2 数据存储/91.2.3 网络通信/101.2.4 地理信息/111.2.5 图形和多媒体处理/111.2.6 外部设备/121.2.7 特色功能模块/131.3 Android的架构特征和设计思想/131.3.1 平台开放性/141.3.2 基于组件的应用设计/141.3.3 基于网络服务的平台/151.4 小结/15第2章 Android源代码的下载和编译/162.1 Android源代码的获取和编译/172.1.1 环境搭建/182.1.2 源代码获取/182.1.3 源代码的编译/212.2 Android源代码结构/222.2.1 框架层源代码目录frameworks/222.2.2 应用层源代码目录packages/242.2.3 其他源代码目录/242.3 Android源代码的阅读和编辑/252.3.1 用Eclipse阅读源代码/252.3.2 反馈Bug/262.3.3 提交修改/272.4 小结/27第3章 Android组件模型解析/283.1 基于Mashup的应用设计/293.1.1 Android中的Mashup/293.1.2 基于Mashup的Android应用模型/303.1.3 基于Mashup的应用架构特征/323.2 界面组件Activity解析/343.2.1 界面组件的功能和特征/343.2.2 界面组件的开发/353.2.3 界面组件的数据结构/393.3 服务组件Service解析/403.3.1 服务组件的功能和特征/413.3.2 服务组件的开发和使用/433.3.3 服务组件的进程间通信模型/453.4 触发器组件Broadcast Receiver解析/493.4.1 触发器组件的功能和特征/493.4.2 触发器组件的使用/503.4.3 广播事件的发送/523.5 数据源组件Content Provider解析/523.5.1 数据源组件的定位和操作/533.5.2 数据源组件的开发/553.5.3 数据源组件的实现细节/573.6 应用配置文件解析/593.6.1 权限配置/613.6.2 环境配置/633.6.3 应用和组件配置/653.7 小结/66第4章 Android的Intent机制/674.1 Intent对象的作用和构成/684.1.1 Intent对象的作用/694.1.2 Intent对象的构成/704.1.3 Intent对象解析/754.1.4 Intent Filter对象/764.2 意图匹配/784.2.1 意图匹配的算法流程/794.2.2 匹配组件的选择/844.2.3 意图匹配的优化/854.3 意图机制的应用/864.3.1 意图机制在界面组件中的应用/864.3.2 意图机制在服务组件中的应用/884.3.3 意图机制在触发器组件中的应用/894.4 小结/90第5章 组件生命周期解析/915.1 应用进程模型/925.1.1 应用、组件和进程/925.1.2 组件的应用进程配置/945.2 应用进程托管/965.2.1 为什么需要进程托管/975.2.2 进程优先级/975.2.3 进程回收算法/1005.2.4 进程的强行终止/1035.2.5 掌控进程的优先级/1055.3 组件的生命周期模型/1065.3.1 界面组件的生命周期/1075.3.2 服务组件的生命周期/1155.3.3 触发器组件的生命周期/1195.3.4 数据源组件的生命周期/1205.3.5 应用环境的生命周期/1205.4 任务和界面组件栈/1205.4.1 界面组件的运行模式/1225.4.2 组件的任务黏度/1265.4.3 实际应用中的任务控制/1275.5 小结/128第6章 组件间的数据传输/1296.1 利用Intent对象进行数据传输/1306.1.1 利用Intent对象回传数据/1316.1.2 利用Intent对象传递数据的优缺点/1336.2 利用文件进行数据共享/1346.2.1 利用文件进行数据共享的实现/1346.2.2 利用文件进行数据共享的优缺点/1356.3 利用应用环境的全局数据共享/1366.3.1 利用应用环境对象共享数据的实现/1376.3.2 利用应用环境对象共享数据的优缺点/1386.4 利用组件共享数据/1396.4.1 利用数据源组件共享数据/1396.4.2 利用服务组件共享数据/1406.5 小结/140第7章 Android控件解析/1417.1 Android的控件框架/1427.1.1 Android控件构成/1427.1.2 Android交互事件传输/1437.1.3 Android控件属性/1457.1.4 控件的丈量和绘制/1507.2 Android的窗口机制/1507.2.1 窗口机制的基本原理/1517.2.2 界面组件和窗口/1527.2.3 对话框/1547.2.4 弹出窗口/1567.3 Android的基本控件介绍/1587.3.1 文本控件/1597.3.2 图像控件/1637.3.3 Surface控件/1647.3.4 Layout控件/1647.3.5 适配器控件/1677.3.6 选项卡控件/1727.3.7 浏览器控件/1737.4 自定义控件/1757.4.1 控件的定制/1757.4.2 复合控件/1807.4.3 自绘控件/1837.5 Android界面新发展/1887.5.1 动作栏/1887.5.2 界面片段/1917.5.3 重新定制选项卡/1977.5.4 交互界面的适配/2007.6 小结/204第8章 应用资源/2058.1 Android应用资源体系/2068.1.1 Android的应用资源构成/2068.1.2 应用资源的适配/2088.1.3 应用资源的动态匹配/2098.2 应用资源的调用/2138.2.1 应用资源的编译和R类/2138.2.2 应用资源的管理/2158.2.3 使用应用资源/2168.3 应用资源的类型/2178.3.1 界面和样式/2178.3.2 字符串和常量/2218.3.3 图像、图形和动画/2238.3.4 其他资源文件/2258.4 小结/225第9章 数据存储/2269.1 Android的文件系统/2279.1.1 Android的目录结构/2299.1.2 Android的应用数据存储/2299.1.3 Android的文件操作/2319.2 使用设置文件/2339.2.1 设置文件的存储和使用/2349.2.2 设置界面组件/2359.3 使用数据库/2389.3.1 Android数据库实现/2389.3.2 Android数据库的使用/2409.4 存储在云端/2439.4.1 云端存储的架构/2449.4.2 云端存储的使用/2459.5 小结/247第10章 网络通信/24810.1 Web通信/24910.1.1 基于HTTP的网络连接/24910.1.2 联网方式的选择/25210.1.3 WiFi的管理/25410.2 蓝牙/25610.2.1 Android的蓝牙实现/25610.2.2 基于蓝牙的通信/25710.3 近场通信/25910.3.1 基于NFC的识别和通信/25910.3.2 基于NFC的点对点通信/26310.4 基于WiFi连接的P2P通信/26310.4.1 Android 4.0的P2P连接实现/26410.4.2 使用Socket进行数据传输/26610.5 小结/268第11章 地理信息服务/26911.1 Android的定位服务/27011.1.1 定位服务框架/27011.1.2 位置信息源/27211.1.3 定位选择/27311.1.4 定位实例/27411.2 Android的地址服务/27711.2.1 地址服务的框架/27711.2.2 使用地址服务/27811.3 Android的地图服务/27911.3.1 使用地图/27911.3.2 其他使用地图服务的方式/28211.4 小结/283第12章 多媒体处理/28412.1 Android的图像处理/28512.1.1 图像的表示/28512.1.2 图像的读取和输出/28612.1.3 图像的呈现/28812.1.4 图像的管理/29012.2 Android的音视频处理/29112.2.1 Android音视频的支持框架/29112.2.2 Android音视频的播放/29212.2.3 Android音视频的录制/29412.3 Android中相机的使用/29612.4 小结/300第13章 其他重要模块/30113.1 通话和短信/30213.1.1 Android的通话和短信框架/30213.1.2 通话的处理/30313.1.3 短信的发送和接收/30513.2 App Widget的使用和实现/30813.2.1 Android的App Widget框架/30913.2.2 App Widget的界面构造和Remote Views /31113.2.3 App Widget的事件处理和Pending Intent /31313.3 Android的应用内搜索/31713.3.1 Android应用内搜索实现框架/31713.3.2 为应用定制搜索功能/31813.3.3 全局搜索功能/32213.4 Android的全局通知机制/32313.4.1 全局通知的类型和实现/32413.4.2 Toast的使用/32513.4.3 状态栏通知/32713.5 Android联系人处理/33113.5.1 Android联系人数据存储框架/33113.5.2 Android联系人操作/33213.6 小结/334
评论关闭。