Pro Android学习笔记(八五):了解Package(4):lib项目

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/

上一次我们学习了通过共享UserID实现深度的代码和资源共享,实际上lib库,同样也可实现类似的功能。

什么是lib项目

lib项目和一般的项目一样是java代码和资源的集合,最终并不生产*.apk文件,而是作为其他项目的一部分,编译到其他项目的*.apk中。

一个lib项目有自己的包名,可以使用其他的JAR文件。目前一个lib项目并不能成为一个JAR文件,但在未来版本可能会支持。 一个lib库不能参考另一个lib库,但这也可能未来版本中支持。Eclipse ADT将lib的java源文件编译到一个JAR文件,然后在编译到应用项目中,并不是直接将原文件拿过来重新编译。

从SDK工具v15.0开始,lib项目中的资源ID不是final了。lib项目和主项目都可以通过各自的R.java来访问lib项目的资源。如果主项目和lib项目的资源ID重复,则主项目的优先。如果你要区分两个项目的资源ID,可以加上不同的前缀,例如lib_。

主项目可以使用任意数目的lib项目,可以设置各lib项目的优先级。lib中的组件(例如activity)需要在主项目的manifest文件中定义。我们并不一定要在lib的manifest中定义组件,但这样做会有更好的可读性。

小例子

小例子很简单,我们创造一个库,名字叫TestLib,实现一个简单的activity,名字为TestLibActivity。我们再建立一个App,名字叫TestUseLib,主Activity中点击菜单,则调起lib中的TestLibActivity。

Lib的实现

和普通的App相似,只是在创建的时候,指定为lib,如下图所示:

如果我们将project选择为library,我们将不能在模拟器上运行。为了检查代码是否正确,我们通常一开始作为普通的project,即App来创建,在检查一些正确后,在将项目的属性该为库。在Eclipse中,点击项目名按右键,然后选择Propertiest,进入对话框,将项目的属性修改为Library,如图所示:

这个TestLibActivity的代码实现很简单,就不在此列出,可以到我的资源下载。

相关小例子源代码可在Pro Android学习:了解package的小例子中下载。

相关链接: 我的Android开发相关文章

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值