使用全局变量简单保存重复使用的值
在做安卓项目的过程中总会有需要跨一个或者n个activity / fragment 等调用数据的情况,虽然通过传值来进行页面跳转可以解决问题,但是当需要长期使用变量或者跨多个界面调用的时候,传值调用就会显得十分麻烦以及臃肿。如何解决这样的问题呢,我们可以用一个简单的全局变量,让整个安卓项目可以随时访问随时获取相关数据。
Java代码实现
首先我们需要新建一个用于储存全局变量的类,并且将这个类继承application。例如:public class AppContent extends Application然后在这个类中创建一些我们所要使用到的全局变量,并创建相应的getter和setter方法,将整个类封装起来。
具体代码例如:
public class AppContent extends Application {
private String sex;
private String province;
private String city;
private String invite_key;
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getInvite_key() {
return invite_key;
}
public void setInvite_key(String invite_key) {
this.invite_key = invite_key;
}
}
AndroidManifest相关属性更改
在创建完我们所需要的全局变量类后,我们要修改AndroidManifest的相关属性让他可以让整个安卓项目的java文件都可以访问到,成为真正的全局变量类。我们只需要在AndroidManifest的application标签中添加一条**android:name={.全局变量类名}**即可,例如android:name=".Utils.AppContent"。
全局变量的调用
全局变量类的使用方法很简单,我们只需要在每个需要调用变量的java类界面创建完成后声明一个全局变量类,并给他赋值为application即可调用我们所需要的全局变量啦~
声明方法例如AppContent app = (AppContent) getApplication();值得注意的是这里一定要加上一个强制类型转化,不然在编译的时候可能会报错!调用的时候就直接调用类内的getter和setter方法即可获取和设置全局变量了!
这个简单的方法,解决了我很多关于界面传值的问题,虽然可能会导致数据不安全的问题,但是对于记不住活动间传值、碎片间传值、活动传值给碎片、碎片传值给活动等等复杂的传值方法的我而言,简直就是好用到了极点呀!

