Android Library 工程实现模块复用 (代码及资源文件)
【摘要】
1. 情境
通常我们开发的 app 不止一个,并且这些 app 中有一些通用的模块,比如一些 util 方法或
者我们自定义的控件。通常我们将这部分代码 copy 到不同的工程中实现复用,随之而来的麻烦
就是当我们对这部分代码稍有该动就需要同时在多个工程中进行修改,这种重复性工作的感觉跟
吃屎...
1. 情境
通常我们开发的 app 不止一个,并且这些 app 中有一些通用的模块,比如一些 util 方法或
者我们自定义的控件。通常我们将这部分代码 copy 到不同的工程中实现复用,随之而来的麻烦
就是当我们对这部分代码稍有该动就需要同时在多个工程中进行修改,这种重复性工作的感觉跟
吃屎差不多。
那么有什么好的方法实现复用并切避免吃屎?那就是使用 Android 中的 Library 工程,并
且相比 jar 包而言,他可以实现资源文件的复用甚至覆盖。
2. 具体步骤
• 创建 library 工程
TextUtil 实现一些静态方法,MyImageView 是 eoe 中一个开发者模仿 winphone
新生成的 R 文件包含并且覆盖了 demo-comment 中 R 文件的所有定义的资源 id。
包含就是为 common 中的资源生成 id 供 project 使用;覆盖就是 project 中的资源
id(或 name)与 common 同名时会保留 project 的,生成 apk 后,common 中的
代码所使用的是 project 中的资源。
的声明。因为 manifest 配置文件是独立给工程的,不能复用。例子中我没有在 common
的 manifest 声明 AboutActivity,但是在 project 中必须声明。
3. 总结
使用 Library 的好处显而易见,模块化设计实现代码共享,便于管理提高效率,避免不必要
通常我们开发的 app 不止一个,并且这些 app 中有一些通用的模块,比如一些 util 方法或
者我们自定义的控件。通常我们将这部分代码 copy 到不同的工程中实现复用,随之而来的麻烦
就是当我们对这部分代码稍有该动就需要同时在多个工程中进行修改,这种重复性工作的感觉跟
吃屎差不多。
那么有什么好的方法实现复用并切避免吃屎?那就是使用 Android 中的 Library 工程,并
且相比 jar 包而言,他可以实现资源文件的复用甚至覆盖。
2. 具体步骤
• 创建 library 工程
新建 Android Project,命名为 demo-common,建议不 Create Activity
将 demo-common 设置为 library
点击 ok,然后查看一下 properties 文件中的变化
TextUtil 实现一些静态方法,MyImageView 是 eoe 中一个开发者模仿 winphone
磁贴效果的控件。
新建一个 Android Project,命名为 demo-project
为 demo-project 添加 demo-common 的引用
看一下添加 demo-common 后,demo-project 的变化
新生成的 R 文件包含并且覆盖了 demo-comment 中 R 文件的所有定义的资源 id。
包含就是为 common 中的资源生成 id 供 project 使用;覆盖就是 project 中的资源
id(或 name)与 common 同名时会保留 project 的,生成 apk 后,common 中的
代码所使用的是 project 中的资源。
properties 文件中也多了一个引用的定义。
在 demo-project 中使用 TextUtil 和 MyImageView,并且实现界面的跳转。
的声明。因为 manifest 配置文件是独立给工程的,不能复用。例子中我没有在 common
的 manifest 声明 AboutActivity,但是在 project 中必须声明。
3. 总结
使用 Library 的好处显而易见,模块化设计实现代码共享,便于管理提高效率,避免不必要
的吃屎经历。
文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。
原文链接:panda1234lee.blog.csdn.net/article/details/8688580
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)