Android中庫(kù)項(xiàng)目的使用方法圖文介紹
更新時(shí)間:2012年12月06日 09:37:34 作者:
類似開(kāi)發(fā)其他Java應(yīng)用一樣,我們可以將可復(fù)用的代碼,打成一個(gè)jar包,供所有需要的項(xiàng)目使用。這樣,可以解決很大一部分代碼復(fù)用的問(wèn)題,本文將詳細(xì)介紹,需要了解的朋友可以參考下
在軟件開(kāi)發(fā)過(guò)程中,程序代碼的復(fù)用,是非常重要的概念。我們總是需要使用一些現(xiàn)有的模塊、包、框架,或開(kāi)發(fā)自己的模塊、包、框架,來(lái)實(shí)現(xiàn)對(duì)程序代碼的復(fù)用。比如在JavaWeb編程過(guò)程中,經(jīng)常使用的Struts和Spring等框架,就可以大大簡(jiǎn)化我們的開(kāi)發(fā)過(guò)程,提高開(kāi)發(fā)效率。
在開(kāi)發(fā)Android應(yīng)用程序的過(guò)程中,同樣有這方面的需求。Android系統(tǒng)包含的Android應(yīng)用程序開(kāi)發(fā)框架,已經(jīng)是一個(gè)可以很好的提高開(kāi)發(fā)效率的框架,但它并不能滿足我們的所有需要。比如我們?cè)匍_(kāi)發(fā)某一類應(yīng)用程序時(shí),會(huì)發(fā)現(xiàn)這一類應(yīng)用程序,會(huì)有大量的代碼是重復(fù)的,這時(shí),就需要我們優(yōu)化設(shè)計(jì)并采用某種方式,實(shí)現(xiàn)重復(fù)代碼的復(fù)用,使開(kāi)發(fā)此類應(yīng)用程序變得簡(jiǎn)單。
類似開(kāi)發(fā)其他Java應(yīng)用一樣,我們可以將可復(fù)用的代碼,打成一個(gè)jar包,供所有需要的項(xiàng)目使用。這樣,可以解決很大一部分代碼復(fù)用的問(wèn)題,比如在不同應(yīng)用中可以復(fù)用的核心算法等。
但是,如果可復(fù)用代碼包含了大量的資源,包括圖片、音樂(lè)文件甚至界面布局等的時(shí)候,代碼的復(fù)用就會(huì)變得麻煩起來(lái),因?yàn)檫@些東西不能被一起打包到j(luò)ar包里面,供需要的項(xiàng)目使用。而沒(méi)有這些資源,可復(fù)用的代碼又無(wú)法運(yùn)行。在這種情況下,最好的解決辦法,就是使用Android2.2之后的SDK支持的庫(kù)項(xiàng)目(Lib Project)。
一個(gè)庫(kù)項(xiàng)目是一個(gè)包含了源碼和資源的項(xiàng)目,它可以被其他的項(xiàng)目引用,從而讓其他項(xiàng)目使用它包含的代碼和資源。多個(gè)Android應(yīng)用程序項(xiàng)目可以引用同一個(gè)庫(kù)項(xiàng)目,同一個(gè)Android應(yīng)用程序項(xiàng)目也可以引用多個(gè)庫(kù)項(xiàng)目。
創(chuàng)建庫(kù)項(xiàng)目和引用庫(kù)項(xiàng)目是很容易的事情。我們以Eclipse環(huán)境下的開(kāi)發(fā)為例。如果要?jiǎng)?chuàng)建庫(kù)項(xiàng)目,只需要在創(chuàng)建普通Android項(xiàng)目完成后,打開(kāi)設(shè)置項(xiàng)目屬性的面板,在Android選項(xiàng)卡下選中Is Library復(fù)選框即可(如下圖所示)。
現(xiàn)有的項(xiàng)目引用庫(kù)項(xiàng)目的時(shí)候,也只需要打開(kāi)項(xiàng)目屬性設(shè)置面板,在Android選項(xiàng)卡下添加需要引用的項(xiàng)目(如下圖所示)。

完成以上操作后,我們就成功的創(chuàng)建了一個(gè)庫(kù)項(xiàng)目,或在現(xiàn)有項(xiàng)目中引用了一個(gè)庫(kù)項(xiàng)目,是不是很簡(jiǎn)單?
當(dāng)然,在使用庫(kù)項(xiàng)目的時(shí)候,因?yàn)锳ndroid項(xiàng)目結(jié)構(gòu)及編譯工具的特殊性,我們需要注意一些要點(diǎn),列舉如下:
1.工作項(xiàng)目和庫(kù)項(xiàng)目的資源名稱,盡量不要重復(fù),如果重復(fù),編譯器會(huì)優(yōu)先使用工作項(xiàng)目的資源;
2.無(wú)法將一個(gè)庫(kù)項(xiàng)目導(dǎo)出為一個(gè)jar文件;
3.庫(kù)項(xiàng)目的Android系統(tǒng)版本必須等于或低于工作項(xiàng)目的系統(tǒng)版本;
4.每一個(gè)庫(kù)項(xiàng)目都會(huì)生成一個(gè)R文件,工作項(xiàng)目被編譯時(shí),將會(huì)合并工作項(xiàng)目和庫(kù)項(xiàng)目的R文件,如果R文件中有常量同名,將使用工作項(xiàng)目R文件中的常量;如果引用了多個(gè)庫(kù)項(xiàng)目,庫(kù)項(xiàng)目中的R文件有常量重名,將根據(jù)庫(kù)項(xiàng)目被引用的順序來(lái)確定常量的使用優(yōu)先級(jí)。
在開(kāi)發(fā)Android應(yīng)用程序的過(guò)程中,同樣有這方面的需求。Android系統(tǒng)包含的Android應(yīng)用程序開(kāi)發(fā)框架,已經(jīng)是一個(gè)可以很好的提高開(kāi)發(fā)效率的框架,但它并不能滿足我們的所有需要。比如我們?cè)匍_(kāi)發(fā)某一類應(yīng)用程序時(shí),會(huì)發(fā)現(xiàn)這一類應(yīng)用程序,會(huì)有大量的代碼是重復(fù)的,這時(shí),就需要我們優(yōu)化設(shè)計(jì)并采用某種方式,實(shí)現(xiàn)重復(fù)代碼的復(fù)用,使開(kāi)發(fā)此類應(yīng)用程序變得簡(jiǎn)單。
類似開(kāi)發(fā)其他Java應(yīng)用一樣,我們可以將可復(fù)用的代碼,打成一個(gè)jar包,供所有需要的項(xiàng)目使用。這樣,可以解決很大一部分代碼復(fù)用的問(wèn)題,比如在不同應(yīng)用中可以復(fù)用的核心算法等。
但是,如果可復(fù)用代碼包含了大量的資源,包括圖片、音樂(lè)文件甚至界面布局等的時(shí)候,代碼的復(fù)用就會(huì)變得麻煩起來(lái),因?yàn)檫@些東西不能被一起打包到j(luò)ar包里面,供需要的項(xiàng)目使用。而沒(méi)有這些資源,可復(fù)用的代碼又無(wú)法運(yùn)行。在這種情況下,最好的解決辦法,就是使用Android2.2之后的SDK支持的庫(kù)項(xiàng)目(Lib Project)。
一個(gè)庫(kù)項(xiàng)目是一個(gè)包含了源碼和資源的項(xiàng)目,它可以被其他的項(xiàng)目引用,從而讓其他項(xiàng)目使用它包含的代碼和資源。多個(gè)Android應(yīng)用程序項(xiàng)目可以引用同一個(gè)庫(kù)項(xiàng)目,同一個(gè)Android應(yīng)用程序項(xiàng)目也可以引用多個(gè)庫(kù)項(xiàng)目。
創(chuàng)建庫(kù)項(xiàng)目和引用庫(kù)項(xiàng)目是很容易的事情。我們以Eclipse環(huán)境下的開(kāi)發(fā)為例。如果要?jiǎng)?chuàng)建庫(kù)項(xiàng)目,只需要在創(chuàng)建普通Android項(xiàng)目完成后,打開(kāi)設(shè)置項(xiàng)目屬性的面板,在Android選項(xiàng)卡下選中Is Library復(fù)選框即可(如下圖所示)。
現(xiàn)有的項(xiàng)目引用庫(kù)項(xiàng)目的時(shí)候,也只需要打開(kāi)項(xiàng)目屬性設(shè)置面板,在Android選項(xiàng)卡下添加需要引用的項(xiàng)目(如下圖所示)。

完成以上操作后,我們就成功的創(chuàng)建了一個(gè)庫(kù)項(xiàng)目,或在現(xiàn)有項(xiàng)目中引用了一個(gè)庫(kù)項(xiàng)目,是不是很簡(jiǎn)單?
當(dāng)然,在使用庫(kù)項(xiàng)目的時(shí)候,因?yàn)锳ndroid項(xiàng)目結(jié)構(gòu)及編譯工具的特殊性,我們需要注意一些要點(diǎn),列舉如下:
1.工作項(xiàng)目和庫(kù)項(xiàng)目的資源名稱,盡量不要重復(fù),如果重復(fù),編譯器會(huì)優(yōu)先使用工作項(xiàng)目的資源;
2.無(wú)法將一個(gè)庫(kù)項(xiàng)目導(dǎo)出為一個(gè)jar文件;
3.庫(kù)項(xiàng)目的Android系統(tǒng)版本必須等于或低于工作項(xiàng)目的系統(tǒng)版本;
4.每一個(gè)庫(kù)項(xiàng)目都會(huì)生成一個(gè)R文件,工作項(xiàng)目被編譯時(shí),將會(huì)合并工作項(xiàng)目和庫(kù)項(xiàng)目的R文件,如果R文件中有常量同名,將使用工作項(xiàng)目R文件中的常量;如果引用了多個(gè)庫(kù)項(xiàng)目,庫(kù)項(xiàng)目中的R文件有常量重名,將根據(jù)庫(kù)項(xiàng)目被引用的順序來(lái)確定常量的使用優(yōu)先級(jí)。
您可能感興趣的文章:
- android 開(kāi)發(fā)教程之日歷項(xiàng)目實(shí)踐(一)
- android 開(kāi)發(fā)教程之日歷項(xiàng)目實(shí)踐(二)
- android 開(kāi)發(fā)教程之日歷項(xiàng)目實(shí)踐(三)
- Android筆記之:App自動(dòng)化之使用Ant編譯項(xiàng)目多渠道打包的使用詳解
- 解決在eclipse中將android項(xiàng)目生成apk并且給apk簽名的實(shí)現(xiàn)方法詳解
- Android Studio使用教程(一):下載與安裝及創(chuàng)建HelloWorld項(xiàng)目
- Android項(xiàng)目中引用本地aar文件的方法
- 用Eclipse搭建Android開(kāi)發(fā)環(huán)境并創(chuàng)建第一個(gè)Android項(xiàng)目(eclipse+android sdk)
- 解決Eclipse創(chuàng)建android項(xiàng)目無(wú)法正常預(yù)覽布局文件問(wèn)題的方法
- Android項(xiàng)目基本結(jié)構(gòu)詳解
相關(guān)文章
Android自定義view實(shí)現(xiàn)多色進(jìn)度條GradientProgressView的繪制
我們常使用shape實(shí)現(xiàn)漸變色,但是shape的極限卻只有三色,如果有超過(guò)三種顏色的View的要求,那么我們就不得不去自定義View來(lái)實(shí)現(xiàn)這個(gè)需求,所以下面我們就來(lái)看看如何自定義view實(shí)現(xiàn)多色進(jìn)度條的繪制吧2023-08-08
Android編程開(kāi)發(fā)之Spinner控件用法實(shí)例分析
這篇文章主要介紹了Android編程開(kāi)發(fā)之Spinner控件用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了下拉列表Spinner的具體使用技巧,需要的朋友可以參考下2015-12-12
android利用websocket協(xié)議與服務(wù)器通信
這篇文章主要為大家詳細(xì)介紹了android利用websocket協(xié)議與服務(wù)器通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
談?wù)剬?duì)Android View事件分發(fā)機(jī)制的理解
本篇文章主要介紹了談?wù)剬?duì)Android View事件分發(fā)機(jī)制的理解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
android開(kāi)發(fā)教程之a(chǎn)ndroid的handler使用方法
這篇文章主要介紹了android的handler使用方法,大家參考使用吧2014-01-01
android避免彈出軟鍵盤遮蓋listview的簡(jiǎn)單方法
下面小編就為大家?guī)?lái)一篇android避免彈出軟鍵盤遮蓋listview的簡(jiǎn)單方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09

