在android开发过程中,总是需要用到一些贯穿整个应用的变量,即全局变量。然后我们可以通过自定义的Application进行设置。 我们的app就是一个application,启动application时,系统会创建一个进程ID,所有的Activity就会在此进程上运行。可以在Application创建时初始化全局变量,同一个应用的所有Activity都可以访问这些全局变量,只需要调用Context的getApplicationContext或者Activity的getApplication方法来获得一个application对象,再做出相应的处理。
1.自定义MyApplication继承于Application
/**
* 通过Application设置全局变量
*/
public class MyApplication extends Application {
private Boolean isEvalCenter;
@Override
public void onCreate() {
super.onCreate();
setEvalCenter(false); //初始化全局变量
}
public void setEvalCenter(Boolean newEvalCenter) {
isEvalCenter = newEvalCenter;
}
public Boolean getEvalCenter() {
return isEvalCenter;
}
}
2.在清单文件AndroidManifest.xml中配置
3.在fragment或activity中使用
// MyApplication app = (MyApplication) getActivity().getApplication(); //fragment中
MyApplication app = (MyApplication) getApplication(); //在activity中
app.setEvalCenter(true); //设值
Boolean isEvalCenter = app.getEvalCenter(); //取值
|