1. 情境
通常我们开发的app 不止一个,并且这些app 中有一些通用的模块,比如一些util 方法或
者我们自定义的控件。通常我们将这部分代码copy 到不同的工程中实现复用,随之而来的麻烦
就是当我们对这部分代码稍有该动就需要同时在多个工程中进行修改,这种重复性工作的感觉跟
吃屎差不多。
那么有什么好的方法实现复用并切避免吃屎?那就是使用 Android 中的Library 工程,并
且相比jar 包而言,他可以实现资源文件的复用甚至覆盖。
2. 具体步骤
• 创建library 工程
新建Android Project,命名为demo-common,建议不Create Activity
将demo-common 设置为library
点击ok,然后查看一下properties 文件中的变化
完成公共的模块,这里我们实现一个activity 一个util 类和一个自定义的view。
TextUtil 实现一些静态方法,MyImageView 是eoe 中一个开发者模仿winphone
磁贴效果的控件。
•创建新的的工程
新建一个Android Project,命名为demo-project
为demo-project 添加demo-common 的引用
看一下添加demo-common 后,demo-project 的变化
其中多了一个R.java 文件,但是两者的内容相同。
新生成的R 文件包含并且覆盖了demo-comment 中R 文件的所有定义的资源id。
包含就是为common 中的资源生成id 供project 使用;覆盖就是project 中的资源
id(或name)与common 同名时会保留project 的,生成apk 后,common 中的
代码所使用的是project 中的资源。
properties 文件中也多了一个引用的定义。
在demo-project 中使用TextUtil 和MyImageView,并且实现界面的跳转。
注意:使用common 中的Activity 时,需要在project 的manifest 文件中进行相应
的声明。因为manifest 配置文件是独立给工程的,不能复用。例子中我没有在common
的manifest 声明AboutActivity,但是在project 中必须声明。
3. 总结
使用Library 的好处显而易见,模块化设计实现代码共享,便于管理提高效率,避免不必要
的吃屎经历。
摘自 icePhone
通常我们开发的app 不止一个,并且这些app 中有一些通用的模块,比如一些util 方法或
者我们自定义的控件。通常我们将这部分代码copy 到不同的工程中实现复用,随之而来的麻烦
就是当我们对这部分代码稍有该动就需要同时在多个工程中进行修改,这种重复性工作的感觉跟
吃屎差不多。
那么有什么好的方法实现复用并切避免吃屎?那就是使用 Android 中的Library 工程,并
且相比jar 包而言,他可以实现资源文件的复用甚至覆盖。
2. 具体步骤
• 创建library 工程
新建Android Project,命名为demo-common,建议不Create Activity
将demo-common 设置为library
点击ok,然后查看一下properties 文件中的变化
完成公共的模块,这里我们实现一个activity 一个util 类和一个自定义的view。
TextUtil 实现一些静态方法,MyImageView 是eoe 中一个开发者模仿winphone
磁贴效果的控件。
•创建新的的工程
新建一个Android Project,命名为demo-project
为demo-project 添加demo-common 的引用
看一下添加demo-common 后,demo-project 的变化
其中多了一个R.java 文件,但是两者的内容相同。
新生成的R 文件包含并且覆盖了demo-comment 中R 文件的所有定义的资源id。
包含就是为common 中的资源生成id 供project 使用;覆盖就是project 中的资源
id(或name)与common 同名时会保留project 的,生成apk 后,common 中的
代码所使用的是project 中的资源。
properties 文件中也多了一个引用的定义。
在demo-project 中使用TextUtil 和MyImageView,并且实现界面的跳转。
注意:使用common 中的Activity 时,需要在project 的manifest 文件中进行相应
的声明。因为manifest 配置文件是独立给工程的,不能复用。例子中我没有在common
的manifest 声明AboutActivity,但是在project 中必须声明。
3. 总结
使用Library 的好处显而易见,模块化设计实现代码共享,便于管理提高效率,避免不必要
的吃屎经历。
摘自 icePhone