第一图书网

Android开发精要

范怀宇 机械工业出版社
出版时间:

2012-8  

出版社:

机械工业出版社  

作者:

范怀宇  

页数:

335  

Tag标签:

无  

前言

前言为什么要写这本书一直觉得我和Android还是蛮有缘分的,从Android发布第一个版本的SDK开始,我就一直在“摸着石头”写各种Android应用,了解一切与Android有关的事情,直至今日。还记得刚开始接触Android时,由于缺少相关的学习资料或书籍,入门都是一件非常困难的事情,只能靠自己不断地翻看SDK文档、尝试各种代码实现来揣摩如何开发Android应用,因而走过很多弯路,几乎犯过所有可能出现的错误,深感写好Android程序并不是一件很容易的事情。如今有大量的开发者开始从事Android开发,幸运的是很多前辈写了大量关于Android开发的书籍,其中包括很多非常优秀的书籍,能帮助Android开发者更快速地学习Android开发,使他们不用再重复我当年初学时的痛苦。但从我在工作中接触到的Android开发者来看,虽然学会如何编写Android应用不再是难事,但他们依旧困扰于如何写出地道的、贴近Android设计理念的、更加高效和运行可靠的Android应用。虽然已经有很多功力深厚的书籍详细剖析过Android底层实现的方方面面,能帮助开发者把Android应用写得更出色,但正是由于这类书中包含了大量底层实现细节,因此使得开发者学习成本较高,难于从中快速获取期望的内容,痛感“远水解不了近渴”。因此,我萌生了写这本书的念头,期望从我的开发经验和繁杂的Android源代码中,抽取出Android开发的“精华”和“要点”,这些“精要”剥离了很多琐碎的实现细节,进行了更多的概括和总结。这一方面能够帮助开发者更深入理解Android的应用开发,从学会Android进阶到理解Android;另一方面又使他们不会被太多细节所牵绊,能够更快速地学习和掌握所需内容。本书主要内容本书将所有内容整理成四个部分13章。第一部分帮助读者重新认识Android,并从各个角度来介绍一些Android的核心理念和学习方法,包含前两章内容。第1章从多个方面介绍和阐述了对Android架构的理解,只有真正理解Android的设计理念和思想才能够更快地掌握Android开发。第2章介绍了如何获取、编译和阅读Android源代码,对于愿意投入更多时间学习Android的开发者来说,源代码无疑是最好的学习资料。第二部分深入阐述了Android最核心的组件机制,包含4章内容。第3章从整体上阐述了Android组件机制的设计理念和重要特征,详细介绍了4大组件的特点和使用方式。第4章从设计和源代码出发,讲解了Intent对象和Android的意图机制,旨在帮助开发者理解Android是如何将来自不同应用、不同进程的组件整合在一起工作的。第5章介绍了Android各个组件的生命周期,包括每个组件的进程模型、线程模型,以及编程时需要把控的一些“要点”。第6章从实际开发的角度出发,详细介绍了组件间数据传递的解决方案,以及这些解决方案的优缺点和使用场景。接下来的第三部分,转换到了另一个核心话题,即Android的交互界面开发,包括两章内容。第7章讲解了Android的控件框架,结合实际的项目,对重要控件的实现和使用逐一进行了分析与讲解,其中包含了最新的Android 4.0界面开发的一些实践“精华”。第8章继续介绍了Android的资源体系,详细剖析了Android底层对资源的处理,并结合具体的应用实现介绍了如何正确地配置资源和构建交互界面。剩下的章节是第四部分,其内容涵盖了Android的各个核心模块,对每个模块的实现机制都做了分析,并结合具体的工程实践针对使用模块时最容易遇到的问题给出了解决方案。第9章介绍了Android的数据存储结构,以及不同的数据存储模式的使用要点,包括基于文件、基于设置文件(Preference)、基于数据库、基于云端等多种模式。第10章介绍了Android丰富多彩的网络连接方式,着重介绍了开发时常见问题的解决,范围不仅涵盖了传统的HTTP连接、蓝牙传输,还包括最新的近场通信(NFC)和基于WiFi的P2P连接等。第11章讲解的是Android的地理信息服务,不仅包括Android的定位服务、地址服务和地图服务的框架实现,还特别针对定位时会遇到的各个问题给出了解决方案。第12章围绕Android的多媒体信息处理展开,具体包括了图像、音频、视频和相机的实现和使用,内存占用量大是多媒体处理中最常见的问题,该章结合对一些系统应用的剖析,总结了一些常用的解决策略。第13章涵盖内容比较多,主要介绍的是Android中比较有特色的一些模块,包括短信和通话的处理、联系人的使用、通知机制(Notification)、桌面小工具(App Widget)的开发等内容,着重介绍的是一些比较有特色的实现细节,以帮助开发者写出更为“地道”的Android应用。本书特色本书最大的特色在于对底层实现机制的总结和整理,以及结合项目实践经验对开发中常遇到的核心问题给出具体的解决策略。对于底层实现机制的整理,可视为Android开发的“要点”,每个开发者都需要理解和掌握这些内容,才能在开发时“下笔如有神”。为了能够更好地传达这些要点,本书中不会出现大段的底层实现代码,而是把所有的实现机制和策略,整理成文字和图表进行总结解析,以帮助读者更轻松地学习和理解。而对于实际开发问题的解决策略,可看做是Android开发中的“精华”部分。本书从系统应用和一些优秀开源项目中整理出常见问题的解决策略,并结合个人实践经验分析不同解决策略的思想和适用场景,不仅能够授读者以解决问题之“鱼”,更能够授其分析问题之“渔”。本书面向的读者我期望所有的Android应用开发者都能够从本书中获益。对于Android初学者而言,可以着重阅读本书对Android设计思想、组件机制、UI框架的介绍,增强对Android底层机制的理解,这对于日后开发更高效、可靠的Android应用,必将有所裨益。而对于具有丰富Android开发经验、对Android基础框架有很深认识的资深开发者而言,可以在本书中寻找针对具体问题给出的一些解决策略,相信这些策略会对解决开发中的实际问题有所帮助。如何阅读本书从本书的结构来看,前三部分包含的内容对于大部分开发者都适用,可以逐节进行阅读;而第四部分包含的内容则可以结合具体问题有选择地进行阅读。本书在介绍内容的过程中,会涉及Android中的具体Java类,在首次提及时会使用完整的类名进行描述,如android.app.Activity,而在之后再次提及时则会略去全部的包信息,仅使用类名,如Activity,以节约篇幅便于阅读。与之类似,本书会将一些英文的专有名词翻译成中文,在首次提及时会使用中英文对照的方式,如界面组件(Activity),而再次涉及时则会直接使用中文名称,如界面组件。本书几乎没有完整的代码实例(具体的实例来源会给出对应的链接或描述),只有从中截取并改良过的代码片段,其描述风格如下:// 这是一段示例代码,在代码的重要位置,会用注释给出解释String hello = "Hello, "; // 重要的变量、函数会用粗体表示String user_name = GetUserName(); // 一些虚拟的函数、变量,会用斜体表示... // 一些略去的实现细节,会用省略号表示此外,本书会穿插一些小贴士,提供相关联的知识内容,小贴士的格式形如:小贴士 这是一则小贴士,所谓小贴士,就是对相关内容进行扩展介绍,或者是加入一些个人的理解。资源及勘误由于个人能力的局限,虽已竭尽所能,但在本书中对于一些问题的理解难免会有所纰漏,给出的一些解决方案也可能会有缺陷,敬请读者海涵。如在阅读过程中发现问题或者有所疑问需要讨论,可发邮件至我的邮箱,所有关于本书内容的勘误会在个人博客上不断更新。致谢两年前的一天,本书的策划编辑杨福川在我的博客上看到了本书最雏形的一些文字,便极力邀请并最终促成了这本书。感谢福川在两年多的时间里一直鼓励着我,容忍着我无限期的“跳票”,帮我整理思路继续前行,感谢他和他的同事白宇、王晓菲、曾珊帮我打磨每一行文字,整理每一张图片,没有他们的专业和坚持就不会有本书的最终完稿,感谢你们,感谢机械工业出版社。也要感谢我的前东家网易有道,是它给我机会来开发诸如有道词典这样拥有大量用户的Android应用,在这个过程中我积累了大量的实践经验,这是我能够完成本书的技术基础。更要感谢豌豆实验室和所有的豌豆们,这是我正为之奋斗的公司和一起战斗的同事们,在这里我不仅开拓了技术视野,了解了更丰富的Android技术,更重要的是,让我体会到了什么是为了理想而共同奋斗,这是鞭策我不断前进的动力。还要感谢那些和我一起写Android代码的朋友们,徐岚、阳光元、王健飞、吴淼伟……那些我写下你们解掉的Bug,都让我从中学到了新的知识。当然,一定要感谢我的家人,我的父母每周都会问我:“书写得怎么样了?早点休息,别太辛苦!”我想说,有你们的支持,我永远不会辛苦。感谢我的妻子张佳,本来我想拿着这本书作为我们的结婚礼物,却未曾想到,待到出版时我们已然是老夫老妻了,两年间你一直鼓励我、帮助我完成此书,感谢有你,一直陪伴在你身边,是我能为你做的。最后,感谢所有即将阅读此书的朋友们,如果有人能从此书获益,将是我莫大的欣慰。范怀宇2012年5月于北京

内容概要

如何才能写出贴近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中比较有特色的一些模块的实现细节进行了分析。

作者简介

  范怀宇,资深Android开发工程师,毕业于清华大学,从事移动开发多年,对Android系统有颇为深入的研究,开发经验十分丰富。曾就职于网易有道,负责完成了有道词典Android版、网易掌上邮Android版、网易八方Android版等项目的开发工作,现就职于豌豆实验室,负责豌豆荚2.0版本的设计和开发。很早开始从事Android开发,曾参加ADC1大赛。关注新技术,喜欢阅读源码和写技术文章,活跃于博客园、Chrome开发群和Top
Language讨论组等多个社群组织。

书籍目录

前言
致谢
第1章 Android的系统架构
1.1 Android系统架构概况
1.1.1 应用层
1.1.2 框架层
1.1.3 运行时
1.1.4 核心类库
1.1.5 硬件抽象层和Linux内核
1.2 Android的核心功能模块
1.2.1 界面框架
1.2.2 数据存储
1.2.3 网络通信
1.2.4 地理信息
1.2.5 图形和多媒体处理
1.2.6 外部设备
1.2.7 特色功能模块
1.3 Android的架构特征和设计思想
1.3.1 平台开放性
1.3.2 基于组件的应用设计
1.3.3 基于网络服务的平台
1.4 小结
第2章 Android源代码的下载和编译
2.1 Android源代码的获取和编译
2.1.1 环境搭建
2.1.2 源代码获取
2.1.3 源代码的编译
2.2 Android源代码结构
2.2.1 框架层源代码目录frameworks
2.2.2 应用层源代码目录packages
2.2.3 其他源代码目录
2.3 Android源代码的阅读和编辑
2.3.1 用Eclipse阅读源代码
2.3.2 反馈Bug
2.3.3 提交修改
2.4 小结
第3章 Android组件模型解析
3.1 基于Mashup的应用设计
3.1.1 Android中的Mashup
3.1.2 基于Mashup的Android应用模型
3.1.3 基于Mashup的应用架构特征
3.2 界面组件Activity解析
3.2.1 界面组件的功能和特征
3.2.2 界面组件的开发
3.2.3 界面组件的数据结构
3.3 服务组件Service解析
3.3.1 服务组件的功能和特征
3.3.2 服务组件的开发和使用
3.3.3 服务组件的进程间通信模型
3.4 触发器组件Broadcast Receiver解析
3.4.1 触发器组件的功能和特征
3.4.2 触发器组件的使用
3.4.3 广播事件的发送
3.5 数据源组件Content Provider解析
3.5.1 数据源组件的定位和操作
3.5.2 数据源组件的开发
3.5.3 数据源组件的实现细节
3.6 应用配置文件解析
3.6.1 权限配置
3.6.2 环境配置
3.6.3 应用和组件配置
3.7 小结
第4章 Android的Intent机制
4.1 Intent对象的作用和构成
4.1.1 Intent对象的作用
4.1.2 Intent对象的构成
4.1.3 Intent对象解析
4.1.4 Intent Filter对象
4.2 意图匹配
4.2.1 意图匹配的算法流程
4.2.2 匹配组件的选择
4.2.3 意图匹配的优化
4.3 意图机制的应用
4.3.1 意图机制在界面组件中的应用
4.3.2 意图机制在服务组件中的应用
4.3.3 意图机制在触发器组件中的应用
4.4 小结
第5章 组件生命周期解析
5.1 应用进程模型
5.1.1 应用、组件和进程
5.1.2 组件的应用进程配置
5.2 应用进程托管
5.2.1 为什么需要进程托管
5.2.2 进程优先级
5.2.3 进程回收算法
5.2.4 进程的强行终止
5.2.5 掌控进程的优先级
5.3 组件的生命周期模型
5.3.1 界面组件的生命周期
5.3.2 服务组件的生命周期
5.3.3 触发器组件的生命周期
5.3.4 数据源组件的生命周期
5.3.5 应用环境的生命周期
5.4 任务和界面组件栈
5.4.1 界面组件的运行模式
5.4.2 组件的任务黏度
5.4.3 实际应用中的任务控制
5.5 小结
第6章 组件间的数据传输
6.1 利用Intent对象进行数据传输
6.1.1 利用Intent对象回传数据
6.1.2 利用Intent对象传递数据的优缺点
6.2 利用文件进行数据共享
6.2.1 利用文件进行数据共享的实现
6.2.2 利用文件进行数据共享的优缺点
6.3 利用应用环境的全局数据共享
6.3.1 利用应用环境对象共享数据的实现
6.3.2 利用应用环境对象共享数据的优缺点
6.4 利用组件共享数据
6.4.1 利用数据源组件共享数据
6.4.2 利用服务组件共享数据
6.5 小结
第7章 Android控件解析
7.1 Android的控件框架
7.1.1 Android控件构成
7.1.2 Android交互事件传输
7.1.3 Android控件属性
7.1.4 控件的丈量和绘制
7.2 Android的窗口机制
7.2.1 窗口机制的基本原理
7.2.2 界面组件和窗口
7.2.3 对话框
7.2.4 弹出窗口
7.3 Android的基本控件介绍
7.3.1 文本控件
7.3.2 图像控件
7.3.3 Surface控件
7.3.4 Layout控件
7.3.5 适配器控件
7.3.6 选项卡控件
7.3.7 浏览器控件
7.4 自定义控件
7.4.1 控件的定制
7.4.2  复合控件
7.4.3 自绘控件
7.5 Android界面新发展
7.5.1 动作栏
7.5.2 界面片段
7.5.3 重新定制选项卡
7.5.4 交互界面的适配
7.6 小结
第8章 应用资源
8.1 Android应用资源体系
8.1.1 Android的应用资源构成
8.1.2 应用资源的适配
8.1.3 应用资源的动态匹配
8.2 应用资源的调用
8.2.1 应用资源的编译和R类
8.2.2 应用资源的管理
8.2.3 使用应用资源
8.3 应用资源的类型
8.3.1 界面和样式
8.3.2 字符串和常量
8.3.3 图像、图形和动画
8.3.4 其他资源文件
8.4 小结
第9章 数据存储
9.1 Android的文件系统
9.1.1 Android的目录结构
9.1.2 Android的应用数据存储
9.1.3 Android的文件操作
9.2 使用设置文件
9.2.1 设置文件的存储和使用
9.2.2 设置界面组件
9.3 使用数据库
9.3.1 Android数据库实现
9.3.2 Android数据库的使用
9.4 存储在云端
9.4.1 云端存储的架构
9.4.2 云端存储的使用
9.5 小结
第10章 网络通信
10.1 Web通信
10.1.1 基于HTTP的网络连接
10.1.2 联网方式的选择
10.1.3 WiFi的管理
10.2 蓝牙
10.2.1 Android的蓝牙实现
10.2.2 基于蓝牙的通信
10.3 近场通信
10.3.1 基于NFC的识别和通信
10.3.2 基于NFC的点对点通信
10.4 基于WiFi连接的P2P通信
10.4.1 Android 4.0的P2P连接实现
10.4.2 使用Socket进行数据传输
10.5 小结
第11章 地理信息服务
11.1 Android的定位服务
11.1.1 定位服务框架
11.1.2 位置信息源
11.1.3 定位选择
11.1.4 定位实例
11.2 Android的地址服务
11.2.1 地址服务的框架
11.2.2 使用地址服务
11.3 Android的地图服务
11.3.1 使用地图
11.3.2 其他使用地图服务的方式
11.4 小结
第12章 多媒体处理
12.1 Android的图像处理
12.1.1 图像的表示
12.1.2 图像的读取和输出
12.1.3 图像的呈现
12.1.4 图像的管理
12.2 Android的音视频处理
12.2.1 Android音视频的支持框架
12.2.2 Android音视频的播放
12.2.3 Android音视频的录制
12.3 Android中相机的使用
12.4 小结
第13章 其他重要模块
13.1 通话和短信
13.1.1 Android的通话和短信框架
13.1.2 通话的处理
13.1.3 短信的发送和接收
13.2 App Widget的使用和实现
13.2.1 Android的App Widget框架
13.2.2 App Widget的界面构造和Remote Views
13.2.3 App Widget的事件处理和Pending Intent
13.3 Android的应用内搜索
13.3.1 Android应用内搜索实现框架
13.3.2 为应用定制搜索功能
13.3.3 全局搜索功能
13.4 Android的全局通知机制
13.4.1 全局通知的类型和实现
13.4.2 Toast的使用
13.4.3 状态栏通知
13.5 Android联系人处理
13.5.1 Android联系人数据存储框架
13.5.2 Android联系人操作
13.6 小结

章节摘录

版权页: 插图: 4.1.2 Intent对象的构成 Intent对象的这些作用,都是通过它的实现和设计体现出来的。从数据结构来看,Intent类的实现非常简单,它并没有包含复杂的逻辑功能,只是包含着若干个数据项。 Action项 在日常生活中描述自己的意愿或愿望时,总是用一个表达动作的词作为意愿的核心。比如:我要吃饭、我想写书、我要做俯卧撑,等等,其中的“吃”、“写”、“做”都是在说明整个意愿的动作,是整个意愿表达的核心之一。 在Intent中,Action就是用来表达动作的。当调用组件指明了一个Action,执行组件就会依照这个动作的指示,接受相关的输入,执行对应的操作,生成所期望的输出。在实现上,Action是一个字符串,可以调用Intent.setAction函数为Intent对象指定一个动作,也可以通过Intent.getAction函数读取Intent对象中的动作信息。为了保持动作的唯一性和实现的可扩展性,Action的命名格式遵循Java包的命名规范,比如可以这样自定义一个表示“吃”的动作: com. duguhome.sample.action.ACTION_EAT 其中,com.duguhome.sample是应用的包名,action表示定义的是一个Action动作,而ACTION_EAT,则具体指明了该动作的含义。 在Android的Intent类中,定义了很多标准的动作,比如:Intent.ACTION_VIEW、Intent.ACTION_PICK等。这些标准动作约定了Android组件间的通信规范,保证了组件系统的可扩展性,使得那些相互独立的组件能够通过这些标准的Action信息彼此沟通。 如果系统预设的这些“标准动作”不能满足应用的需求,则各个应用都可以自行定义扩展。但与这些“标准动作”相比,自定义的Action不常用在跨应用的通信中,而仅应用于内部组件的通信。

媒体关注与评论

要成为真正的Android开发高手,要开发出高质量的Android应用,必须对Android系统的实现原理和工作机制有较深入的理解。然而,整个Android系统非常庞大且错综复杂,要通过源代码理解它,不仅需要较深技术功底,而且需要投入大量时间,门槛和成本都非常高。为了让基础不那么扎实又没有充足时间去研究Android源代码的读者也能明白它的原理,本书对它的原理进行了高度概括和抽象,不仅能使读者迅速掌握Android系统的工作机制,而且还能深刻理解系统中各核心模块和服务的实现原理,对希望迅速提高应用开发水平的读者非常有帮助,强烈推荐!——51CTO移动开发频道


编辑推荐

《Android开发精要》编辑推荐:资深Android专家经验之作,51CTO和开源中国社区联袂推荐!高度抽象Android系统的设计理念和底层实现机制,全面概括Android实现原理的“要点”和实际开发中的“精华”,为开发高质量Android应用提供绝佳指导!

名人推荐

要成为真正的Android开发高手,要开发出高质量的Android应用,必须对Android系统的实现原理和工作机制有较深入的理解。然而,整个Android系统非常庞大且错综复杂,要通过源代码理解它,不仅需要较深技术功底,而用需要投入大量时间,技术门槛和成本都非常高。为了让基础不那么扎实又没有充足时间去研究Andmid源代码的读者也能叫白它的原理,本书对它的原理进行了高度概括和抽象,不仅能使读者迅速掌握Android系统的工作机制,而且还能深刻理解系统中各核心模块和服务的实现原理,对希望迅速提高应用开发水平的读者非常有帮助,强烈推荐! ——51CTO移动开发频道

图书封面

图书标签Tags

广告

下载页面


Android开发精要 PDF格式下载



首先说一下,这本书我才看了3章,但已经感觉不得不上来推荐一下了!先一句话概况一下,这本书,不适合初学者,但对于希望android开发水平能从入门再往上升一步的同学,是必备的!目前市面上的android图书多如牛毛,但绝大多数都内容十分雷同,无非就是介绍各种控件的使用和几大组件的用法,随便找一本看了就能开工干一些简单的活了。但是对android系统很多背后的机理,在这一阶段是雾里看花基本搞不清楚的,我的感觉就是很多程序都能写了,但背后的原理几乎一无所知,对android系统的总体设计架构和思想也没有清晰的概念。市面上也有不少书是深入研究android内部机理的图书,但这类书一般上来就谈linux内核,android源代码,对于我这种菜鸟又太过艰深了。而这本书不一样,作者站在一个比一本入门书籍更高的高度,用十分精炼准确但并不晦涩的语言为我们展示出了android系统的框架设计思想,很多平时写程序时遇到的困惑,读着读着不经意间就明白了,这种感觉真是太好了。原来我迷信国外的技术书籍,基本是有原版的就买原版的,没原版的就买翻译的,基本不买国内作者写的。原因是被国内的垃圾书伤透了心。但近年来很多国内的年轻作者崭露头角,写的书质量十分的高,而且语言比看那些翻译书不知道要流畅多少倍,这种情况真是令人欣喜。这些作者很多都是各大技术公司的骨干,在中国写技术书是既费力又赚不到钱的,他们肯花时间把自己的心...得写出来,应该就是对技术那种最单纯的热爱吧,这样的国产图书,已经远远不再是过去那种大学老师找研究生拼凑或者专业出版工作室拼凑出来的那种垃圾国产书了,推荐大家多多关注这样的图书 阅读更多 ›


内容还是不错的,但是对整个android系统来说 很多内容都没涉及到.书的印刷不错.


看了一些 ,内容充实,不过细节 讲得不深!!


有时候感觉太抽象了,建议没有代码积累的人最好绕道


跟很多android的书不同,深入解剖了android开发的精要,通过这本书,再不是从表面简单地区了解它,而是开始学习其原理


感觉还不错,不过不适合新手


在介绍android框架的一些原理方面,比较深入,有参考价值


书的内容很不错,只是对我这种初学者来说有点吃力


基本上都涵盖了,对于新手来说讲得不是太细。


个人认为,这是一本绝对的好书,不像同类书,讲一些使用方法,它更侧重于原理。值得拥有。


这本书讲的不是很精确,只是但当涉猎而已。但是内容还可以,从另外一种角度解析Android,没事的时候可以学习学习!!!


这个书对于新手来说几乎没用,里面讲的都是 深入的,合适 掌握初级知识后的提高


尽扯大段的理论,描述又不简明,还不用实例,实在空洞


与那些雷同的翻译类新手指南比,这本书这种阐述android开发需要掌握的概念,以及之前的关联,简明扼要。


作者果然是大牛,将系统代码从思想的层次上用简单易懂的语言写出来,昨天到书,昨晚无意翻看了下就爱不释手了。有点看小说的状态。


前7章,内容精要。值得一读。


内容比较全面,整体感觉不错


可以精读


学习android开发就靠这本书了


稍稍看了下


android开发精要


  知其然知其所以然,比市面上靠各种sdk例子和wiki翻译搭砌起来的书要好的多。
  
  有一点不太习惯的是,作者把大部分英文术语翻译成中文,比如activity翻译成界面组件,经常一下就略过去了,没认出来。了解作者的良苦用心,但术语尽量不要翻译了,反而影响阅读效率。


  读了几章,文字简洁,思路清晰,很不错!
  
  找了好久,才找到一本合我口味的书!
  
  其它很多书不是过于细节,就是照抄SDK文档。。。
  
  实在提不起兴趣!
  
  继续拜读。。。
  
  --------------------我是分割线----------------------------------------------
  
  不是吧?写了这么多还嫌短??


  各部分都讲得比较详细,新手快速了解android全貌,以及作为工具书收藏很有必要。
  但对android设计思想并没有很深刻得刻画,多数对设计思想的描述如官方所述,只讲是什么,没解释清楚为什么,但我看这书目的是为了深入了解为什么,所以本处没能很好回答我这个问题。
  
  但总的来说,这本书可以一读。


  从动手写这本书,到正式出版,历经了两年多的时光。其间,由于工作压力,有一年的时间只字未添,有很多章节不断的易稿整理补充新的内容,在几多纠结后总算是能面世见人。
  
  两年多前,Android开发还是一个比较新鲜的领域,好书难觅,任何复杂一些的框架机制和实现模式,都需要摸爬滚打自行揣摩。于是决意要写一本书,把自己从事Android开发的一些经验总结,和对源码的学习了解,都整理出来。最早我给这本书的名字,与我博客上的一些文章同名,名曰『深入理解Android』,目标是把Android的一些核心机制的实现以及开发中常遇到的问题都剖析清楚,不仅能把底层实现说透了,更重要的是能够和实际开发关联的更为紧密。
  
  我不希望这本书在讲解某项功能时有特别完整的例子,而只是提供经过实战考验的代码片段,因为我觉得,完整的例子就像一个装修完好的房子,会把一些模式和场景限定的太死板,约束了阅读时的思维,而代码片段就像设计精巧的乐高积木,可以有更丰富的可能性。我也不想在写底层逻辑时直接大段大段的贴代码,而是把其中逻辑整理成更为清晰的文字和图表,这样才能使得略显枯燥的内容变得更为生动活泼易于理解。此外,我也不想把这本书做成面面俱到的手册,只是把我觉得重要的核心机制和真实遇到过的内容呈现出来即可,因为这些内容是我理解的最好最深刻,也是我最能帮助到其他人的地方。
  
  但随着写作的深入,我发现我对“书”的理解还是太浅薄,停留在了“博客”层面。作为一本介绍机理和实现的书,完整性还是很重要的,因为书的读者不是像博文读者,是通过搜索某个小问题来阅读的,而是需要一个更为整体的学习。所以,在写作期间,我也不断的对一些我原来了解的不够清楚的地方,不断学习和实践,把一些我原本认为不太重要的细节也一挖再挖以求全面,文字上,也把啰嗦花哨的部分全部略去,力求简单明了偶尔有趣。这些工作耗费了更多的精力和时间,使的出版日期不断跳票,不过能够使得整本书的内容更为完整易读,还是非常令人开心的事情。
  
  在出版前,书名最终更改为了『Android开发精要』,主要原因是和传统的『深入理解XXX』书籍相比,这本书看上去并没有那么深入,没有对具体代码细节的诠释,没有对一些特别底层的内容进行剖析。而精要二字,一方面指的是“精华”,即Android的一些核心机制,比如进程托管,组件模型之类的;另一方面,指的是“要点”,即一些实际经验的整理,比如界面构造、大内存控制,云云。我觉得这个书名虽然看着很冷僻,但也使得这本书更贴近它的读者群,因为我本就是想为普通Android应用开发者写一些东西。
  
  时至今日,Android开发俨然成了最热门的工种之一,相关书籍多如牛毛,方方面面涵盖甚广。而这本书,也不是非常能契合我最早的预期,由于工作压力,时间、精力、能力都十分有限,实在没有办法做到尽善尽美,书中还是有不少地方,我觉得写得并不是很透。即便如此,我还是相信这本书能够帮助到不少人,这种自信来自于平常的工作中,因为时常有同学遇到问题的时候,我都可以说:“这问题我书里有写,在某某章节,可以去看看”。


  一直想找一本书,能够简洁明了的把andriod的架构、设计原理讲清楚,也就是先开了我的窍,在此基础上再学习实用细节会更加快速,牛人终于出书满足俺这种需求了。牛人写的书,要好好拜读,学习android开发就靠这本书了


  ~要成为真正的Android开发高手,要开发出高质量的Android应用,必须对Android系统的实现原理和工作机制有较深入的理解。然而,整个Android系统非常庞大且错综复杂,要通过源代码理解它,不仅需要较深技术功底,而且需要投入大量时间,门槛和成本都非常高。为了让基础不那么扎实又没有充足时间去研究Android源代码的读者也能明白它的原理,本书对它的原理进行了高度概括和抽象,不仅能使读者迅速掌握Android系统的工作机制,而且还能深刻理解系统中各核心模块和服务的实现原理,对希望迅速提高应用开发水平的读者非常有帮助,强烈推荐!


的确如楼主所述,这本书给人一个android大致轮廓,深入的内容几乎没有,感觉有些走马观花,实战性不强。


绝对要顶,绝对要支持。有些遗憾是出的有些晚。


最欣赏作者又牛逼又谦虚,跟我一样。


请问这书有电子版可买么?


@任文山
不好意思,还没有。


@duguguiyu
在国外工作,买纸质书挺不方便的,如果能有电子版就好了


@任文山
我和出版社联系下看看,国内这方面貌似很不发达。


@duguguiyu
对啊,看评论最近有一些好书出版,尤其是Android深入这一块的。如果能有电子版,其实会很方便 (不过也可能让盗版更容易:p),而且技术书,看电子版其实会更方便。
国外很多计算机类的都有电子版可以购买,价格跟纸质本一样,或者略低一点儿(但肯定没有邮费)。


有样章么,试读一下。


@zircon_1973
不知啊。感兴趣的话可以看看我的博客:flyvenus.net


书已经拿到手,闲暇翻阅,嘿嘿。


@zircon_1973
感谢支持,欢迎讨论。


今天在书店看到,都是切实的经验总结,实际开发中都会用到。


啥时候出开发精要2啊,可以讲讲实际项目会用到的架构和设计模式,哈哈。


为什么打开你的博客要求填写登录名和密码呢?


域名过期了。。。


可惜啊,我刚刚开始学安卓开发,正在读你的这本书,很赞很喜欢,本来还打算围观一下原作者的博客~


可以看看 www.cnblogs.com/duguguiyu


这几天我一直在看这本书,是我看过几本android书中很有深度的一本,准备看完再重头看一次


超过很多老外写的技术文档,值得读!多读,至少3遍后,突然眼前一亮,我靠,以前的项目简直是垃圾,范老师。。。


美中不足就是,出处太少了,要是能够融入些思想的原始文档就更好了。还有就是繁简的搭配在合理些。


希望再出一版融入一些新的技术的说明。


穷学生表示多看电子版40大洋略贵...还是先去图书馆借了,另外豌豆荚现在越来越臃肿了,希望以后越来越好,简便,好用,体验好。


决定到亚马逊去买来看看,支持作者的一片心意。


相关图书