2011-05-05 17 views
10

我試圖創建一個可以很容易地添加到Android項目作爲jar庫的android組件。如何讓Android自組件並從jar庫中使用它?

對於這一點,我不得不創建「​​RES /價值/ attr.xml」新的XML屬性,我使用的路徑添加到我的圖形的XML元素:

xmlns:app="http://schemas.android.com/apk/res/com.component.mypackage" 

然後我導入此項目作爲jar庫導入另一個項目。 要在新的項目中創建我的圖形組件,我必須改變以下路徑:

xmlns:app="http://schemas.android.com/apk/res/com.mylibrary" 

但路徑不正確:自定義屬性都沒有發現。

我設法在圖書館罐子R檔整合,我可以從我的XML訪問它宣佈的自定義組件是這樣的:

<PreferenceScreen 
    xmlns:android = "http://schemas.android.com/apk/res/android" 
xmlns:app = "http://schemas.android.com/apk/res/com.myLibraryPackage"> 

<com.myLibraryPackage.mySelfComponent 
    android:title="Name" 
    android:key="name" 
    app:hintText="Input your name" 
    android:dialogTitle="Your name " 
    app:validator="com.myLibraryPackage.myValidatorClass" /> 

奇怪的是,如果我把我的文件ATTR。 xml在我的項目的資源中,它工作,這意味着它找到com.myLibraryPackage.mySelfComponent。在那種情況下,爲什麼它也找不到com.myLibraryPackage?

(我也試圖通過

xmlns:app="http://schemas.android.com/apk/res/com.myApplicationPackage" 

更換

xmlns:app="http://schemas.android.com/apk/res/com.myLibraryPackage" 

,但它仍然無法正常工作)

我寧願使用廣口瓶中,促進其在整合項目!

有沒有人遇到過這樣的問題誰可以幫我?

謝謝。

+0

+1我無法提供幫助,但對雙語問題滿意! – Nick 2011-05-05 13:54:11

+1

是的,但如果每個人都開始這樣做,那將是一團糟。 – 2011-05-05 14:00:02

+0

Moi aussi/Me too,Je Upvote/I ajoute un vote for the bilingual question。 – Istao 2011-05-05 16:25:45

回答

3

我試圖創建Android 組件,可以很容易地添加到 機器人項目作爲一個jar庫。

如果您想要重複使用代碼和資源,將無法使用jar文件進行操作。您需要將庫轉換爲library project

然後我將該項目作爲罐子 庫導入到另一個項目中。要 創建我的 新項目圖形組件,我必須改變以下路徑 :如果您使用的是庫項目

,你還是會引用自定義屬性,就好像它是包含在應用程序(因爲Android會在編譯應用程序時將所有資源合併在一起):

xmlns:app="http://schemas.android.com/apk/res/com.component.mypackage" 
相關問題