2010-09-07 57 views
0

我即將開始一個Android項目,該項目將有一個免費版本和一個高級版本。帶有高級功能的Android Eclipse項目佈局

在VC++ land中,您可以通過在高級部分(或代碼將進入高級部分的位置)添加預處理標籤來完成此操作。

我可以有兩個項目與單獨的源代碼樹,但一個錯誤將需要在另一個修復。

但是在Java中,你沒有預處理器,所以我該怎麼做呢?假設你有一個額外的按鈕是高級功能的屏幕,將如何處理?

我將使用Eclipse作爲我的IDE,以Eclipse爲中心的答案表示讚賞。

回答

0

如果它只是一個大約的按鈕,或者你可以簡單地把他們藏在「精簡版」的版本其他View組件,如

public static final boolean LITE_VERSION = true; 

... 

if (LITE_VERSION) { 
    premiumButton.setVisibility(View.INVISIBLE); 
} 
1

我寧願把先進的東西在另一個罐子和使用IOC查詢因爲這些而不是依靠if(bool)來做這件事。

對於你的lite版本,你只是不分發溢價罐。

+0

這樣一旦有人拿到手中的高級瓶子就會很容易繞過。 – Robin 2010-09-07 14:00:23

+0

當你沒有銷售時,這很容易解決;) – 2010-09-07 15:16:26

2

Android SDK正式解決了一個共享或公共代碼庫問題,稱爲庫項目。

http://developer.android.com/guide/developing/eclipse-adt.html#libraryProject

基本上,共享代碼被定義爲一個庫項目,然後免費和付費版本只是在Eclipse工作臺兩個不同的項目,都參照上述庫項目。

在構建時,庫項目會與您的任一版本合併,這就是您想要的。

Android SDK示例源代碼包含一個名爲TicTacToe的項目,該項目將幫助您開始使用庫項目。

祝你好運。

Daniel