在Android开发中,正式和测试环境的切换,一般情况下我们都会去设置一个tag,通过此tag来改变开发环境。
以前的写法一般都是:
public class BaseApplication extends Application {
public boolean isRelease = true;//true是正式环境,false是开发环境
static BaseApplication baseApplication;
@Override
public void onCreate() {
super.onCreate();
baseApplication = this;
}
public boolean getEnvironment() {
return isRelease;
}
public static BaseApplication getBaseApplicaton() {
return baseApplication;
}
}
public class ApiManager {
private final String RELEASE_HOST = "host1";
private final String DEVELOP_HOST = "host2";
public String getHost() {
if (BaseApplication.getBaseApplicaton().getEnvironment())
return RELEASE_HOST;
else
return DEVELOP_HOST;
}
}
基本就是这样,我这里通过isRelease去设置它是什么开发环境。
其实AndroidStudio,已经为我们区分了正式和开发环境,就如同我们平时开发的时候要打签名包了一样。
我们只要在build.gradle中配置自己想要的
buildTypes {
release {
buildConfigField "String", "HOST", "\"www.release.com\""
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
buildConfigField "String", "HOST", "\"www.develop.com\""
}
}
这里我配置了HOST,这样在开发的时候就会用www.develop.com,签名包的时候用www.release.com.
public class ApiManager {
public String getHost() {
return BuildConfig.HOST;
}
}
如此一来,都不要配置环境变量,可以直接开始写代码了!