Android开发之Is Library篇
一、生活場(chǎng)景描述
???? 由于公司有一個(gè)項(xiàng)目開發(fā)的時(shí)間比較長(zhǎng),項(xiàng)目里堆砌的代碼也比較多,并且有些功能在給不同客戶發(fā)布的時(shí)候有些功能還不需要,這樣功能模塊分離就很有必要了。
???? 所以,Library就被推到了前臺(tái),被我們運(yùn)用起來。
二、注意事項(xiàng)
??? 1.兩個(gè)Library不能互相引用
??? 2.Library中的Drawable文件不能被項(xiàng)目中使用(該項(xiàng)有待進(jìn)一步確認(rèn))
??? 3.由于在項(xiàng)目中使用的上下文對(duì)象是屬于當(dāng)前項(xiàng)目,所以在Library中獲取文件對(duì)象Context.getAssets().open("fileName.txt"); 該文件應(yīng)該放在項(xiàng)目里的assets。(該項(xiàng)有待進(jìn)一步確認(rèn))
??? 4.Library中不能使用View注入框架(如:BufferKnife),因?yàn)長(zhǎng)ibrary R文件里文件的id都是靜態(tài)變量,而需要的是常量(Android項(xiàng)目中生成的就是常量)。但是,如果把框架放在Library中,項(xiàng)目中是可以用該框架的。
??? 5.Library可以有自己的子Library
??? 6.緩存問題:如果在編碼時(shí),一個(gè)子Library中的代碼修改了,父Library中不能加載子Library中修改的代碼,需要把子Library取消引用,再導(dǎo)入引用就好了。
??? 7.若使用庫(kù)中的activity之類的,需要在項(xiàng)目的AndroidManifest.xml中重新定義。因?yàn)閙anifest 配置文件是獨(dú)立給工程的,不能復(fù)用。可以在Library不聲明Activity,但是在project中必須聲明。
??? 8.資源同名的話,項(xiàng)目中的資源會(huì)覆蓋庫(kù)中的資源。
??? 9.使用Library之后properties 文件中會(huì)多了一個(gè)引用的定義。
?? 10.Android Library可以重復(fù)使用java類,android組件和資源,但是assets的資源不會(huì)被重用。
?? 11.問題:如果兩個(gè)子Library需要互相引用各自的Activity該怎么辦?
?
轉(zhuǎn)載于:https://www.cnblogs.com/royi123/p/4653862.html
總結(jié)
以上是生活随笔為你收集整理的Android开发之Is Library篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# Json 序列化与反序列化一
- 下一篇: 第一次接触终极事务处理——Hekaton