2011-12-27 53 views
0

我有一個Android項目,我想「克隆」第二個類似的項目,只有一個文件不同:它是sqlite數據庫(assets/mydata.sql)。實現一個Android庫項目

我打開源項目(reslib)到庫中,並把它添加到我的克隆項目的屬性

事情是,我(來源項目下的「庫項目」作爲reslib.jar顯示出來)我不確定如何啓動源項目中的主要活動。源項目的主要活動設置了一個TabHost。如何從我的克隆項目啓動到源項目的主要活動?我開始將代碼粘貼到「cloneActivity.java」中以啓動TabHost,但後來想知道是否有更好的方法。

+0

你選擇圖書館的具體原因是什麼?這兩個項目是相互依存的嗎?如果沒有,爲什麼不重命名項目和更改所需的文件?當你上傳到市場時,無論如何這將是新的APK對嗎? – kosa 2011-12-27 17:09:15

+0

我正在嘗試在項目之間共享代碼。製作一個共享公共庫(項目)是我能找到的在兩個項目之間創建共享代碼庫的唯一途徑。 – wufoo 2011-12-27 18:02:09

+0

然後,我很抱歉,我沒有任何答案。就我而言,我維護了兩個源代碼庫。順便讓我添加額外的功能,其中一個應用程序是其他人不需要的。我強烈建議你也一樣。誰知道,將來你可能會面臨同樣的情況。 – kosa 2011-12-27 19:06:06

回答

1

這樣做很簡單。在依賴項目的清單中,您需要將源項目的活動指定爲要啓動的項目。

假設您的源項目包名爲com.example.source,您的相關項目的包名稱爲com.example.dependent,並且源項目中的主要活動爲MainActivity.java

然後在AndroidManifest.xml中的相關項目,你會像下面這樣:

<application 
    android:icon="@drawable/logo" > 
    <activity 
    android:name="com.example.source.MainActivity" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
    </activity> 

    <!-- possibly lots more activities and other declarations --> 

</application> 

注意事項:在清單爲您的源項目和相關項目,必須進行確保列出所有活動,權限等。如果稍後您將活動添加到源項目中,則需要記住將其添加到依賴項目的清單中。

另外,您需要將源項目的資產目錄中的任何內容複製到依賴項目—,並且不要忘記保持同步。 (這是真實的截至2012年6月,我聽說了一些未來的Android編譯工具版本將有可能緩解這個頭痛的問題。

最後,如果你使用Eclipse創建項目,它會創建默認佈局main.xml。由於從屬項目中的資源會覆蓋源項目中的資源,因此請確保這不會讓您感到不安。

+0

謝謝!我最終在依賴項目中創建了一個活動,該項目在庫項目中啓動了啓動Activity。不是最好的,但我能夠在當時弄清楚。我更喜歡這種方式! – wufoo 2012-06-28 20:50:53

相關問題