当前位置: 代码迷 >> Android >> 大局共享变量(Android)
  详细解决方案

大局共享变量(Android)

热度:10   发布时间:2016-05-01 12:48:23.0
全局共享变量(Android)

在安卓中一种比较好的储存全局共享变量的方法是继承Application,将全局变量写入继承的Application类中,然后在Activity或Service中通过getApplication()方法来获全局变量中.形如以下用法:

//MyApplication.javapublic class MyApplication extends Application{	public WeakReference<MyPublicData> d;		public void setMyPublicData(MyPublicData _d){		d = null;		d = new WeakReference<MyPublicData>(_d);	}		public MyPublicData getMyPublicData(){		return d.get();	}}


 

//Activity_1.javad = new MyPublicData(this);((MyApplication)this.getApplication()).setMyPublicData(d);//Activity_2.javaMyPublicData d = ((MyApplication)this.getApplication()).getMyPublicData();

 


 最后在manifest中application标签上加入name项:

<application        ...        android:name=".MyApplication">


我的个人习惯是用一个MyPublicData来储存各种全局变量,这样比较符合语义而且比较容易修改.

例子中在Activity_1中初始化MyPublicData是因为项目设计因素,个人建议将MyPublicData的初始化放在MyApplication的OnCreate中.

  相关解决方案