使用庫項目實現Android程序代碼的複用

在軟件開發過程中,程序代碼的複用,是非常重要的概念。我們總是需要使用一些現有的模塊、包、框架,或開發自己的模塊、包、框架,來實現對程序代碼的複用。比如在JavaWeb編程過程中,經常使用的Struts和Spring等框架,就可以大大簡化我們的開發過程,提高開發效率。

在開發Android應用程序的過程中,同樣有這方面的需求。Android系統包含的Android應用程序開發框架,已經是一個可以很好的提高開發效率的框架,但它並不能滿足我們的所有需要。比如我們再開發某一類應用程序時,會發現這一類應用程序,會有大量的代碼是重複的,這時,就需要我們優化設計並採用某種方式,實現重複代碼的複用,使開發此類應用程序變得簡單。

類似開發其他Java應用一樣,我們可以將可複用的代碼,打成一個jar包,供所有需要的項目使用。這樣,可以解決很大一部分代碼複用的問題,比如在不同應用中可以複用的核心算法等。

但是,如果可複用代碼包含了大量的資源,包括圖片、音樂文件甚至界面佈局等的時候,代碼的複用就會變得麻煩起來,因爲這些東西不能被一起打包到jar包裏面,供需要的項目使用。而沒有這些資源,可複用的代碼又無法運行。在這種情況下,最好的解決辦法,就是使用Android2.2之後的SDK支持的庫項目(Lib Project)。

一個庫項目是一個包含了源碼和資源的項目,它可以被其他的項目引用,從而讓其他項目使用它包含的代碼和資源。多個Android應用程序項目可以引用同一個庫項目,同一個Android應用程序項目也可以引用多個庫項目。

創建庫項目和引用庫項目是很容易的事情。我們以Eclipse環境下的開發爲例。如果要創建庫項目,只需要在創建普通Android項目完成後,打開設置項目屬性的面板,在Android選項卡下選中Is Library複選框即可(如下圖所示)。

現有的項目引用庫項目的時候,也只需要打開項目屬性設置面板,在Android選項卡下添加需要引用的項目(如下圖所示)。

完成以上操作後,我們就成功的創建了一個庫項目,或在現有項目中引用了一個庫項目,是不是很簡單?

當然,在使用庫項目的時候,因爲Android項目結構及編譯工具的特殊性,我們需要注意一些要點,列舉如下:

1. 工作項目和庫項目的資源名稱,儘量不要重複,如果重複,編譯器會優先使用工作項目的資源;

2. 無法將一個庫項目導出爲一個jar文件;

3. 庫項目的Android系統版本必須等於或低於工作項目的系統版本;

4. 每一個庫項目都會生成一個R文件,工作項目被編譯時,將會合並工作項目和庫項目的R文件,如果R文件中有常量同名,將使用工作項目R文件中的常量;如果引用了多個庫項目,庫項目中的R文件有常量重名,將根據庫項目被引用的順序來確定常量的使用優先級。

 

轉載:http://express.ruanko.com/ruanko-express_40/technologyexchange6.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章