Android应用开发36计
需积分: 0 157 浏览量
更新于2011-04-24
收藏 6.32MB PDF 举报
《Android应用开发36计》是一本专注于Android应用框架原理与程序设计的书籍,由高煥堂著,于2008年10月发行第三版。本书以Android 1.0版本为基准,全面介绍了Android应用开发的理论与实践,通过36个实用技巧帮助读者深入理解并掌握Android应用的开发技能。
### 第一篇:认识应用框架
#### 1.1 何谓应用框架
应用框架是指一套预先设计好的软件架构,它定义了一组规则,用于组织和构建应用程序。对于Android而言,应用框架是开发者进行应用程序设计的基础,提供了各种预定义的行为、服务和组件,如Activity、Service、Broadcast Receiver等,使得开发者能够快速高效地开发功能丰富、界面友好的应用。
#### 1.2 框架的起源
应用框架的出现是为了简化软件开发过程,提高代码的复用性和维护性。在Android中,应用框架不仅包含了操作系统的核心服务,还提供了大量的API,使开发者无需从零开始构建所有功能,而是可以直接利用这些API实现复杂的功能,如网络通信、数据存储、多媒体处理等。
#### 1.3 框架的分层
Android应用框架被设计成分层结构,包括应用程序层、应用框架层、系统库层、硬件抽象层(HAL)以及Linux内核层。每一层都有其特定的功能和职责,这种分层结构确保了系统的灵活性和扩展性。
#### 1.4 框架的“无用之用”效果
框架的“无用之用”效果指的是,虽然框架中的某些组件或服务可能在具体的应用场景中不被直接使用,但它们的存在为整个系统的稳定性和完整性提供了支持。例如,权限管理、资源调度等功能,虽然开发者可能不会直接调用,但却是保证应用正常运行不可或缺的部分。
### 第二篇:应用框架的魅力来源——反向沟通
#### 2.1 前言
传统编程模式下,应用程序控制着执行流程,而在应用框架中,框架本身控制着应用程序的生命周期和执行逻辑。这种反向沟通的设计思想,使得开发者可以更加专注于业务逻辑的实现,而无需关心底层细节。
#### 2.2 认识反向沟通
反向沟通是指框架通过回调机制来通知应用程序何时何地应该执行什么操作。这种方式打破了传统的自上而下的控制流,允许应用程序以更灵活的方式与框架交互。
#### 2.3 主控者是框架,而不是应用
在应用框架中,框架扮演着主控者的角色,它决定着应用程序的启动、暂停、恢复和停止等生命周期状态。这种设计有利于统一管理多个应用程序,避免资源冲突,提高系统的整体性能。
#### 2.4 现代应用框架:采取广义IoC观念
IoC(Inversion of Control,控制反转)是一种设计模式,它将控制权从应用程序转移到框架,使得应用程序的组件可以被框架动态地装配和管理。Android应用框架就采用了广义的IoC观念,实现了组件之间的解耦合,提高了代码的可测试性和可维护性。
#### 2.5 框架的重要功能:提供预设行为
框架提供的预设行为是基于最佳实践和广泛需求设计的,如UI布局、数据绑定、错误处理等。开发者可以通过简单的配置和少量的代码调用来实现这些功能,大大减少了编码量,提升了开发效率。
### 第三篇:应用框架设计与编程技巧
#### 3.1 基础手艺:抽象(无之)与衍生(有之)
抽象是软件工程中的一个核心概念,它指的是从具体的实例中提取共性的特征和行为,形成抽象类或接口。在Android应用框架设计中,通过抽象可以创建一系列可重用的组件,而衍生则是基于抽象类或接口创建具体的实现。
#### 3.2 打造框架:细腻的抽象步骤
- **基本步骤**:识别出应用程序中的共同需求和行为,将其抽象成类或接口。
- **细腻的手艺(一):比较资料成员**:分析不同组件间的属性差异,确定哪些属性应包含在抽象类或接口中。
- **细腻的手艺(二):比较函数成员**:检查不同组件间的方法实现,提炼出通用的方法签名。
- **细腻的手艺(三):将抽象类别转为介面**:进一步精简抽象类,将公共行为封装成接口,提高灵活性和可扩展性。
### 结语
《Android应用开发36计》不仅仅是一本技术手册,更是对Android应用框架原理的深度剖析和实践经验的总结。通过学习本书,开发者不仅可以掌握Android应用开发的技巧,还能深刻理解应用框架的设计理念,从而在实际项目中更加游刃有余,创造出高质量的应用程序。

沙鸥
- 粉丝: 65
最新资源
- NanUI-JavaScript资源
- 论信息技术对当前信息化作战的影响.docx
- 基于大数据的电梯故障预测新模式.docx
- 《计算机网络基础》习题.doc
- 园林施工项目管理的基本方法及管理过程.doc
- streamsql-SQL资源
- CAXA制造工程师-CAD-CAM-教学导案.doc
- 对大地构造相图空间数据库建设技术探讨.docx
- uniapp-yolo-detect-毕业设计资源
- stm32diansai-电赛资源
- PLC全自动洗衣机毕业设计方案.doc
- 全国计算机等级测验一级B必过练习之Word操作题练习.doc
- T68-镗床的PLC-改造设计论文正文.doc
- 基于Kinect的智能家居体感控制系统的研究与设计.docx
- 2023年互联网信息技术服务项目评估分析报告.docx
- 媒体行业移动互联网解决方案.ppt