我們的應用程序是由多個市場,併爲開發者,我需要做出不同的代碼運行爲每個目標的分佈是這樣的:編譯到Android不同的目標
if (target == ROCK) do A;
else if (target == PAPER) do B;
等,確實ADT/Eclipse中支持這些東西?
我應該怎麼做呢?
我們的應用程序是由多個市場,併爲開發者,我需要做出不同的代碼運行爲每個目標的分佈是這樣的:編譯到Android不同的目標
if (target == ROCK) do A;
else if (target == PAPER) do B;
等,確實ADT/Eclipse中支持這些東西?
我應該怎麼做呢?
您可以在res/values文件夾中設置一個參數(例如strings.xml中的字符串)來檢查。該字符串可以與目標參數(例如res/values-480x800中的screensize)。
有兩種方法可供選擇,這取決於你想要什麼:
對於方法1,你可以在gradle/Android Studio中使用build flavors(我不認爲ADT支持這個)。基本上可以構建單個APK的多個版本,每個版本都選擇不同的源文件。然後,在Play商店中,您可以根據您的條件分發這些不同的文件。
對於方法2,你有幾種選擇:
getResources().getConfiguration().locale.getCountry()
來獲得設備或TelephonyManager.getNetworkOperator()
國的MCC一次我對J2ME開發,I just developed preprocessor類似的問題,你可以嘗試使用它的Android項目
你是指在不同版本的SDK中,還是在不同的位置/載體中? –
既不,我想有我自己定義的目標,這可能嗎? –
[This answer](http://stackoverflow.com/a/4526126/622391)說你不能,但還有其他方法。看看[這個解決方案](https://weblogs.java.net/blog/schaefa/archive/2005/01/how_to_do_condi_1.html)哪個_「[使用] Ant的副本和過濾器功能來創建源代碼不同的代碼「_。 –