2011-10-12 126 views
3

在我的Android應用程序中,我需要針對不同環境(如開發,UAT,生產)有不同的配置。Android應用程序環境配置

我有2種方法在我腦海中實現它。請給我看你的意見。

1)。通過使用3個不同的.properties文件或 2)。通過爲共享配置創建一個baseconfig類並從3個配置類擴展(我不確定它是否是一個好主意)

這兩種方法稍後都會加載到靜態配置類中以便於訪問。

每種方法的優點和缺點是什麼? 有沒有其他的選擇?

回答

1

我認爲最好的方法是擁有一個活動的.configuration文件,例如,您可以將其存儲在資產文件夾中。關於樹文件的想法似乎並不好,因爲您需要將所有三個.properties文件打包到.apk,儘管您不使用這三個文件中的兩個。您的代碼總是讀取相同的.properties文件,並且您通過複製適當的.properties文件來決定執行哪種類型的構建。

在您的項目中,您可以創建配置文件夾,其中您將準備好所有三個.properties文件。然後,例如創建三個ANT任務,每個任務都將一個屬性文件複製到具有相同目標文件名的資產文件夾中。你也可以用其他方式來做到這一點(在Windows上使用.bat,在Linux上使用.sh,你可以參數化ANT任務,讓它有一個任務和屬性來說明哪個文件可以選擇...)。

所以,當你想建立生產版本時,運行任務生產,它會複製生產.properties文件給你。然後你建立.apk。當然,所有這些都可以集成到完整的ANT構建過程中,您可以在構建過程開始時執行復制.properties文件的步驟。

通過這種方式,您可以獲得APK的最佳大小,並始終使用相同的代碼來處理.properties文件。它也適用於自動化建築環境(例如Hudson),您可以從「外部」自動執行構建目標。

+0

@dstedanox Thx我會試試這個 – Riddle

+0

這是一個很好的建議,但是如果你想在運行時改變環境,這並沒有太大的幫助。 –