使用Android库项目时适用的架构模式
来源:互联网 发布:淘宝软妹衣服店 编辑:程序博客网 时间:2024/05/21 17:23
在Android库项目(Library Project)发布之前,在不同Android项目间共享代码是很困难甚至是不可能的。通常使用JAR包共享Java代码,但是却无法共享那些需要引用资源文件的代码。共享Activity或者自定义视图是不可能的,因为开发者无法把资源文件添加到JAR包中,供其它应用程序使用。为了解决共享代码的问题,Android库项目应运而生了。
在这个demo里,我们会展示库项目的使用方法,并且会创建一个具有登陆界面的小应用程序作为本demo的示例程序,该程序划分为以下三层结构:
1、后台逻辑和模型(JAR文件)
2、Android库项目
3、Android应用程序
后台逻辑和模型
本层是一个简单的JAR文件,该文件可以包含业务逻辑,并且不使用Android平台特有的代码。我们把请求服务器的代码、业务对象以及业务逻辑放置在该层。在示例程序中,有一个可以编译成JAR文件的项目(Login),用于实现具体的登陆功能。
在Login项目中,Login类并不依赖于Android平台。该项目输出文件是一个JAR包,可以将该JAR包引入到Android应用程序中。在Java项目中实现业务逻辑意味着可以直接使用JUnit测试所有代码,这样避免了构建Android测试环境所带来的麻烦。此外,代码分成可以使不同技术背景的开发者专注于各自所擅长的层。
Android库项目
Android库项目类似于JAR包,但是却可以使用Android资源文件。将Android库项目设置为某个应用程序的依赖项目时,该应用程序就拥有了第二个R类,该R类中包含了库项目的资源ID信息,因此我们便可以在代码中使用库项目所属的资源文件。本层包含的Android平台特定的Activity、自定义视图或者Service等都是可以复用的。
库项目可以使用上一小节提到的JAR包作为依赖库。在本例中,我们便将JAR包设置为库项目的依赖库。通过这种方式,开发者便拥有了一个可以用于任何Android项目,并且模块化、易维护的库。
Android应用程序
最终的Android应用程序通过后台逻辑和模型层的JAR包处理与平台无关的业务逻辑,通过Android库项目处理与Android平台相关的逻辑。
在本层,我们既可以使用JAR包中的代码,也可以使用Android库项目中的代码。此时开发应用程序,只需要处理代码在不同层的分布问题。
本demo对使用库项目时适用的架构设计作了简要介绍。代码可重用且易维护是难以实现的,但是现在有了Android库项目,一切皆有可能。
代码地址
- 使用Android库项目时适用的架构模式
- 远离过度设计:Android项目最适用的架构
- 不要使用不理解或不适用的架构或设计模式
- 软件设计模式:基于MVP的Android项目架构
- Android MVC与MVP架构适用场景
- 访问者模式的适用情况
- 我的android项目架构
- SOA架构不适用的场合
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 项目管理手记(八) SaaS模式的DRP系统是否适用?
- 在CentOS 6.6 64bit上基于源码安装全功能的vim 7.4实录
- 变革家五步投资法学习体会
- shell变量的字符串操作
- 1088. Rational Arithmetic (20)
- samba服务器注意事项
- 使用Android库项目时适用的架构模式
- UVALive 5067 Membership Management
- C++代码库
- javaSE7有关异常处理有关
- CSS基础学习十六:CSS盒子模型补充之border-radius属性
- [1002]: A + B Problem II
- jquery生成pdf插件jsPDF
- c语言scanf()函数和gets()函数的区别
- JSP分页