我们的应用分布在多个市场,作为开发人员,我需要为每个目标运行不同的代码,例如:
if (target == ROCK) do A;
else if (target == PAPER) do B;
等等,ADT/Eclipse 是否支持这些东西?
我该怎么做呢?
您可以在 res/values 文件夹中设置要检查的参数(例如,strings.xml 中的字符串)。该字符串可以与目标一起参数化(例如 res/values-480x800 中的屏幕大小)。
有两种方法可以解决这个问题,具体取决于您想要什么:
对于方法 1,您可以在 gradle / Android Studio 中使用构建风格(我认为 ADT 不支持这一点)。您基本上可以构建单个 APK 的多个版本,在每个版本中选择不同的源文件。然后,在 Play 商店中,您可以根据您的标准分发这些不同的文件。
对于方法 2,您有几个选择:
getResources().getConfiguration().locale.getCountry()
获取设备所在国家/地区或TelephonyManager.getNetworkOperator()
MCConce I had similar problem for J2ME development, I just developed preprocessor, you can try to use it for Android projects