种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

Android开发精要

(2019-12-27 01:52:35) 百科综合
Android开发精要

Android开发精要

《Android开发精要》是2012年机械工业出版社出版的图书,作者是范怀宇。该书讲述的是如何才能写出贴近Android设计理念、能够更加高效和可靠运行的Android套用,通过Android的原始码去了解其底层实现细节是最重要的方法之一。

基本介绍

  • 书名:Android开发精要
  • 作者: 范怀宇
  • ISBN:978-7-1113-9058-9
  • 页数:335页
  • 定价: 69.00元
  • 出版时间: 2012-8

基本信息

作者: 范怀宇
出版年: 2012-8
页数: 335
定价: 69.00元
ISBN: 978-7-1113-9058-9

内容简介

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底层对资源的处理。第四部分(9~13章):第9章讲解了Android的数据存储结构,以及不同数据存储模式的使用要点;第10章分析了Android的各种网路连线方式,涵盖NFC和基于WiFi的P2P连线等内容;第11章讲解了Android的定位服务、地址服务和地图服务的框架实现;第12章仔细分析了Android各种多媒体功能的实现机制;第13章对Android中比较有特色的一些模组的实现细节进行了分析。

作者简介

范怀宇,资深Android开发工程师,毕业于清华大学,从事移动开发多年,对Android系统有颇为深入的研究,开发经验十分丰富。曾就职于网易有道,负责完成了有道词典Android版、网易掌上邮Android版、网易八方Android版等项目的开发工作,现就职于豌豆实验室,负责豌豆荚2.0版本的设计和开发。

目录

前言
致谢
第1章 Android的系统架构/1
1.1 Android系统架构概况/2
1.1.1 套用层/4
1.1.2 框架层/5
1.1.3 运行时/5
1.1.4 核心类库/7
1.1.5 硬体抽象层和Linux核心/7
1.2 Android的核心功能模组/8
1.2.1 界面框架/8
1.2.2 数据存储/9
1.2.3 网路通信/10
1.2.4 地理信息/11
1.2.5 图形和多媒体处理/11
1.2.6 外部设备/12
1.2.7 特色功能模组/13
1.3 Android的架构特徵和设计思想/13
1.3.1 平台开放性/14
1.3.2 基于组件的套用设计/14
1.3.3 基于网路服务的平台/15
1.4 小结/15
第2章 Android原始码的下载和编译/16
2.1 Android原始码的获取和编译/17
2.1.1 环境搭建/18
2.1.2 原始码获取/18
2.1.3 原始码的编译/21
2.2 Android原始码结构/22
2.2.1 框架层原始码目录frameworks/22
2.2.2 套用层原始码目录packages/24
2.2.3 其他原始码目录/24
2.3 Android原始码的阅读和编辑/25
2.3.1 用Eclipse阅读原始码/25
2.3.2 反馈Bug/26
2.3.3 提交修改/27
2.4 小结/27
第3章 Android组件模型解析/28
3.1 基于Mashup的套用设计/29
3.1.1 Android中的Mashup/29
3.1.2 基于Mashup的Android套用模型/30
3.1.3 基于Mashup的套用架构特徵/32
3.2 界面组件Activity解析/34
3.2.1 界面组件的功能和特徵/34
3.2.2 界面组件的开发/35
3.2.3 界面组件的数据结构/39
3.3 服务组件Service解析/40
3.3.1 服务组件的功能和特徵/41
3.3.2 服务组件的开发和使用/43
3.3.3 服务组件的进程间通信模型/45
3.4 触发器组件Broadcast Receiver解析/49
3.4.1 触发器组件的功能和特徵/49
3.4.2 触发器组件的使用/50
3.4.3 广播事件的传送/52
3.5 数据源组件Content Provider解析/52
3.5.1 数据源组件的定位和操作/53
3.5.2 数据源组件的开发/55
3.5.3 数据源组件的实现细节/57
3.6 套用配置档案解析/59
3.6.1 许可权配置/61
3.6.2 环境配置/63
3.6.3 套用和组件配置/65
3.7 小结/66
第4章 Android的Intent机制/67
4.1 Intent对象的作用和构成/68
4.1.1 Intent对象的作用/69
4.1.2 Intent对象的构成/70
4.1.3 Intent对象解析/75
4.1.4 Intent Filter对象/76
4.2 意图匹配/78
4.2.1 意图匹配的算法流程/79
4.2.2 匹配组件的选择/84
4.2.3 意图匹配的最佳化/85
4.3 意图机制的套用/86
4.3.1 意图机制在界面组件中的套用/86
4.3.2 意图机制在服务组件中的套用/88
4.3.3 意图机制在触发器组件中的套用/89
4.4 小结/90
第5章 组件生命周期解析/91
5.1 套用进程模型/92
5.1.1 套用、组件和进程/92
5.1.2 组件的套用进程配置/94
5.2 套用进程託管/96
5.2.1 为什幺需要进程託管/97
5.2.2 进程优先权/97
5.2.3 进程回收算法/100
5.2.4 进程的强行终止/103
5.2.5 掌控进程的优先权/105
5.3 组件的生命周期模型/106
5.3.1 界面组件的生命周期/107
5.3.2 服务组件的生命周期/115
5.3.3 触发器组件的生命周期/119
5.3.4 数据源组件的生命周期/120
5.3.5 套用环境的生命周期/120
5.4 任务和界面组件栈/120
5.4.1 界面组件的运行模式/122
5.4.2 组件的任务黏度/126
5.4.3 实际套用中的任务控制/127
5.5 小结/128
第6章 组件间的数据传输/129
6.1 利用Intent对象进行数据传输/130
6.1.1 利用Intent对象回传数据/131
6.1.2 利用Intent对象传递数据的优缺点/133
6.2 利用档案进行数据共享/134
6.2.1 利用档案进行数据共享的实现/134
6.2.2 利用档案进行数据共享的优缺点/135
6.3 利用套用环境的全局数据共享/136
6.3.1 利用套用环境对象共享数据的实现/137
6.3.2 利用套用环境对象共享数据的优缺点/138
6.4 利用组件共享数据/139
6.4.1 利用数据源组件共享数据/139
6.4.2 利用服务组件共享数据/140
6.5 小结/140
第7章 Android控制项解析/141
7.1 Android的控制项框架/142
7.1.1 Android控制项构成/142
7.1.2 Android互动事件传输/143
7.1.3 Android控制项属性/145
7.1.4 控制项的丈量和绘製/150
7.2 Android的视窗机制/150
7.2.1 视窗机制的基本原理/151
7.2.2 界面组件和视窗/152
7.2.3 对话框/154
7.2.4 弹出视窗/156
7.3 Android的基本控制项介绍/158
7.3.1 文本控制项/159
7.3.2 图像控制项/163
7.3.3 Surface控制项/164
7.3.4 Layout控制项/164
7.3.5 适配器控制项/167
7.3.6 选项卡控制项/172
7.3.7 浏览器控制项/173
7.4 自定义控制项/175
7.4.1 控制项的定製/175
7.4.2  複合控制项/180
7.4.3 自绘控制项/183
7.5 Android界面新发展/188
7.5.1 动作栏/188
7.5.2 界面片段/191
7.5.3 重新定製选项卡/197
7.5.4 互动界面的适配/200
7.6 小结/204
第8章 套用资源/205
8.1 Android套用资源体系/206
8.1.1 Android的套用资源构成/206
8.1.2 套用资源的适配/208
8.1.3 套用资源的动态匹配/209
8.2 套用资源的调用/213
8.2.1 套用资源的编译和R类/213
8.2.2 套用资源的管理/215
8.2.3 使用套用资源/216
8.3 套用资源的类型/217
8.3.1 界面和样式/217
8.3.2 字元串和常量/221
8.3.3 图像、图形和动画/223
8.3.4 其他资源档案/225
8.4 小结/225
第9章 数据存储/226
9.1 Android的档案系统/227
9.1.1 Android的目录结构/229
9.1.2 Android的套用数据存储/229
9.1.3 Android的档案操作/231
9.2 使用设定档案/233
9.2.1 设定档案的存储和使用/234
9.2.2 设定界面组件/235
9.3 使用资料库/238
9.3.1 Android资料库实现/238
9.3.2 Android资料库的使用/240
9.4 存储在云端/243
9.4.1 云端存储的架构/244
9.4.2 云端存储的使用/245
9.5 小结/247
第10章 网路通信/248
10.1 Web通信/249
10.1.1 基于HTTP的网路连线/249
10.1.2 联网方式的选择/252
10.1.3 WiFi的管理/254
10.2 蓝牙/256
10.2.1 Android的蓝牙实现/256
10.2.2 基于蓝牙的通信/257
10.3 近场通信/259
10.3.1 基于NFC的识别和通信/259
10.3.2 基于NFC的点对点通信/263
10.4 基于WiFi连线的P2P通信/263
10.4.1 Android 4.0的P2P连线实现/264
10.4.2 使用Socket进行数据传输/266
10.5 小结/268
第11章 地理信息服务/269
11.1 Android的定位服务/270
11.1.1 定位服务框架/270
11.1.2 位置信息源/272
11.1.3 定位选择/273
11.1.4 定位实例/274
11.2 Android的地址服务/277
11.2.1 地址服务的框架/277
11.2.2 使用地址服务/278
11.3 Android的地图服务/279
11.3.1 使用地图/279
11.3.2 其他使用地图服务的方式/282
11.4 小结/283
第12章 多媒体处理/284
12.1 Android的图像处理/285
12.1.1 图像的表示/285
12.1.2 图像的读取和输出/286
12.1.3 图像的呈现/288
12.1.4 图像的管理/290
12.2 Android的音视频处理/291
12.2.1 Android音视频的支持框架/291
12.2.2 Android音视频的播放/292
12.2.3 Android音视频的录製/294
12.3 Android中相机的使用/296
12.4 小结/300
第13章 其他重要模组/301
13.1 通话和简讯/302
13.1.1 Android的通话和简讯框架/302
13.1.2 通话的处理/303
13.1.3 简讯的传送和接收/305
13.2 App Widget的使用和实现/308
13.2.1 Android的App Widget框架/309
13.2.2 App Widget的界面构造和Remote Views /311
13.2.3 App Widget的事件处理和Pending Intent /313
13.3 Android的套用内搜寻/317
13.3.1 Android套用内搜寻实现框架/317
13.3.2 为套用定製搜寻功能/318
13.3.3 全局搜寻功能/322
13.4 Android的全局通知机制/323
13.4.1 全局通知的类型和实现/324
13.4.2 Toast的使用/325
13.4.3 状态栏通知/327
13.5 Android联繫人处理/331
13.5.1 Android联繫人数据存储框架/331
13.5.2 Android联繫人操作/332
13.6 小结/334

内容摘录

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不常用在跨套用的通信中,而仅套用于内部组件的通信。

标 签

搜索
随机推荐

Powered By 种豆资源网||