2020-06-25

Android的架构分析
Android的架构主要有两部分构成,即系统架构与应用架构。Android系统架构,是Android系统的底层框架,其中包含了Android系统的基本运行原理,并且系统主要的开发工作也是在此基础上完成的。Android应用框架,一种是开发默认支持MVC架构,另外一种是目前比较流行的MVP架构。Android系统架构Android系统架构包括四个部分,如图1所示,由下而上依次是:LINUX内核层、系统运行库、应用程序框架层、应用程序层。每个层次之间的关系是:下层为上层提供服务;上层的实现需要调用下层的功能。2.1 Linux内核层该层是基础层,提供技术上的支撑,主要包括系统常用的驱动程序,例如显示驱动、音频驱动、电源管理等,能够完成对基本功能的操作。该层连接硬件与软件,可以降低软件开发的复杂度,同时对硬件设备进行抽象。2.2 系统运行库该层包括程序库和Android运行时环境,其中程序库主要包括表面管理、多媒体框架,轻量级数据库SQLite等,普遍使用的开发语言是C/C++,是应用开发必不可少的底层程序组件;Android运行时环境包括核心程序库和Dalvik虚拟机,它的主要功能是为Android应用的运行提供环境支持。2.3 应用程序框架层该层是一个应用程序的核心,提供一些在开发过程中经常使用的应用程序接口,如活动管理(Activity Manager)、通知管理(Notification Manager)、电话管理(Telephony Manager)、资源管理(Resource Manager)以及内容提供器(Content Providers)等,在一个具体的Android应用中通过对这些接口的使用来丰富应用的功能,也可以通过继承来实现个性化的功能扩展,并且优化应用的性能。2.4 应用程序层该层包括众多的核心应用,例如联系人应用、电话应用以及天气应用等,通常使用JAVA语言编写的程序,并且开发人员可以通过应用程序框架层的接口来开发新的应用。Android应用架构在开发Android应用时首先应该设计应用框架,它的目的是使程序保持模块化,达到高内聚、低耦合的,这样有利于大型的Android应用开发,各个模块可以进行分工合作,提高开发效率。Android应用通常采用MVC框架和MVP架构进行开发,本文主要对MVP架构进行研究。在MVP架构中,其中M:模型层(Model)主要包括本地缓存访问组件和网络数据访问组件;V:视图层(View)主要由Activity、Fragment、Adapter这三个组件构成,主要功能是完成应用的页面布局的设置;P:展示器层(Presenter),该层使用定制化的Presenter展示器作为基础组件。上述介绍的三层结构是MVP架构的主要组成部分,另外还包括一个契约层(Contract),契约层连接着视图层和展示器层,它定义每个模块中的视图层和展示器层在使用时应该遵守的规则,使用契约层的组件中两个接口,分别由视图层和展示器层进行实现。3.1 视图层在视图层中,主要使用Fragment来完成各个模块界面的设计,同时还要遵守契约层中定义的规则,将定义的抽象方法实现,展示器层将调用这些方法来定义视图层的数据展示方式。MVP架构与MVC架构主要的区别在于,在MVC架构中,Activity既负责显示视图,又对数据进行处理操作,但在MVP架构中,Activity只负责实现Fragment与Presenter的显示,并且负责将模型层组件显示到展示器层。在Activity中间的协调下,Fragment与Presenter组件就能够将视图显示,并能完成视图层和模型层的交互。Adapter,即适配器,主要使用在具有列表界面的模块中,例如下列列表、列表视图等等,Fragment中的方法获取展示器层返回的列表数据以后,然后添加适配器,将这些数据添加到适配器中,由适配器控制这些数据在Fragment中列表控件中进行显示在视图中,同时Adapter可以监听列表组件中每一个列表项的事件,当用户点击任意一个列表项就会触发单击事件,在相应的事件处理方法中实现操作。3.2 展示器层展示器层主要负责整个系统的业务逻辑,完成视图层与模型层数据的交互。展示器层分担了传统MVC架构中Activity组件作为控制器层的主要职责,主要是为了防止Activity设计得过于繁琐。通过封装向外部提供访问的接口,有利于单元测试和后期的维护工作。3.3 模型层模型层根据领域对象组织数据,每一个领域对象的模型层对应四部分,分别为:数据源规范、数据仓库组件、本地缓存访问组件、网络数据访问组件。其中数据仓库组件、本地缓存访问组件和网络数据访问均实现了数据源规范接口。MVP架构可以使模型层和视图层相对独立,功能进行分离,交互行为都是由展示器层来完成的,最大的优点是便于单元测试,主要的功能是通过调用接口来完成的,内部的具体实现细节是不透明的,这样方便编写测试用例,有助于提高软件的可维护性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值