作者:杜刚

在软件开发过程中,程序代码的复用,是非常重要的概念。我们总是需要使用一些现有的模块、包、框架,或开发自己的模块、包、框架,来实现对程序代码的复用。比如在JavaWeb编程过程中,经常使用的Struts和Spring等框架,就可以大大简化我们的开发过程,提高开发效率。

在开发Android应用程序的过程中,同样有这方面的需求。Android系统包含的Android应用程序开发框架,已经是一个可以很好的提高开发效率的框架,但它并不能满足我们的所有需要。比如我们再开发某一类应用程序时,会发现这一类应用程序,会有大量的代码是重复的,这时,就需要我们优化设计并采用某种方式,实现重复代码的复用,使开发此类应用程序变得简单。

类似开发其他Java应用一样,我们可以将可复用的代码,打成一个jar包,供所有需要的项目使用。这样,可以解决很大一部分代码复用的问题,比如在不同应用中可以复用的核心算法等。

但是,如果可复用代码包含了大量的资源,包括图片、音乐文件甚至界面布局等的时候,代码的复用就会变得麻烦起来,因为这些东西不能被一起打包到jar包里面,供需要的项目使用。而没有这些资源,可复用的代码又无法运行。在这种情况下,最好的解决办法,就是使用Android2.2之后的SDK支持的库项目(Lib Project)。

一个库项目是一个包含了源码和资源的项目,它可以被其他的项目引用,从而让其他项目使用它包含的代码和资源。多个Android应用程序项目可以引用同一个库项目,同一个Android应用程序项目也可以引用多个库项目。

创建库项目和引用库项目是很容易的事情。我们以Eclipse环境下的开发为例。如果要创建库项目,只需要在创建普通Android项目完成后,打开设置项目属性的面板,在Android选项卡下选中Is Library复选框即可(如下图所示)。

现有的项目引用库项目的时候,也只需要打开项目属性设置面板,在Android选项卡下添加需要引用的项目(如下图所示)。

完成以上操作后,我们就成功的创建了一个库项目,或在现有项目中引用了一个库项目,是不是很简单?

当然,在使用库项目的时候,因为Android项目结构及编译工具的特殊性,我们需要注意一些要点,列举如下:

1. 工作项目和库项目的资源名称,尽量不要重复,如果重复,编译器会优先使用工作项目的资源;

2. 无法将一个库项目导出为一个jar文件;

3. 库项目的Android系统版本必须等于或低于工作项目的系统版本;

4. 每一个库项目都会生成一个R文件,工作项目被编译时,将会合并工作项目和库项目的R文件,如果R文件中有常量同名,将使用工作项目R文件中的常量;如果引用了多个库项目,库项目中的R文件有常量重名,将根据库项目被引用的顺序来确定常量的使用优先级。

更多相关文章

  1. 用Basic开发Android的应用.Basic4Android.
  2. Android(安卓)Studio导入jar后无法识别、但项目能正常运行的问题
  3. 使用Android(安卓)SDK 的核心自带的资源
  4. Android开发-UI开发
  5. Android开发--自定义颜色渐变的标题栏简单Demo
  6. Android移动应用开发_通过USB连接安卓手机
  7. Android(安卓)JNI/NDK开发(一)NDK真的很难吗?
  8. Android(安卓)NDK开发初识
  9. Android(安卓)studio 发布Android(安卓)Library项目到JCenter

随机推荐

  1. 如何使用arm-eabi-gdb调试android c/c++
  2. android fragment(android.support.v4.app
  3. 【Android(安卓)okhttp源码解析 五】拦截
  4. android linux 最全的基础知识总结
  5. Android(安卓)- 开发实例(14):透明SystemB
  6. Android事件分发和View绘制流程分析(三)
  7. okhttp3 访问服务器失败 onFailure 提示C
  8. Android(安卓)打开相机、相册获取图片文
  9. (一百三十八)学习Android(安卓)studio 导入
  10. Android中JNI 的一些常用说明 JNI_OnLoad