Android開發之Is Library篇


一、生活場景描述

     由於公司有一個項目開發的時間比較長,項目里堆砌的代碼也比較多,並且有些功能在給不同客戶發布的時候有些功能還不需要,這樣功能模塊分離就很有必要了。

     所以,Library就被推到了前台,被我們運用起來。

二、注意事項

    1.兩個Library不能互相引用

    2.Library中的Drawable文件不能被項目中使用(該項有待進一步確認)

    3.由於在項目中使用的上下文對象是屬於當前項目,所以在Library中獲取文件對象Context.getAssets().open("fileName.txt"); 該文件應該放在項目里的assets。(該項有待進一步確認)

    4.Library中不能使用View注入框架(如:BufferKnife),因為Library R文件里文件的id都是靜態變量,而需要的是常量(Android項目中生成的就是常量)。但是,如果把框架放在Library中,項目中是可以用該框架的。

    5.Library可以有自己的子Library

    6.緩存問題:如果在編碼時,一個子Library中的代碼修改了,父Library中不能加載子Library中修改的代碼,需要把子Library取消引用,再導入引用就好了。

    7.若使用庫中的activity之類的,需要在項目的AndroidManifest.xml中重新定義。因為manifest 配置文件是獨立給工程的,不能復用。可以在Library不聲明Activity,但是在project中必須聲明。

    8.資源同名的話,項目中的資源會覆蓋庫中的資源。

    9.使用Library之后properties 文件中會多了一個引用的定義。

   10.Android Library可以重復使用java類,android組件和資源,但是assets的資源不會被重用。

   11.問題:如果兩個子Library需要互相引用各自的Activity該怎么辦?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM