赞
踩
三个步骤,将全局对象保存在Application进程。
1. 自定义Application对象
public class MyApp extends Application {
//在此保留有必要的全局数据对象,如登录态信息
private Map<String, Object> mData;
@Override
public void onCreate() {
super.onCreate();
mData = new HashMap<String, Object>();
//为多线程安全,同步化
mData = Collections.synchronizedMap(mData);
}
public Object getData(String key){
Object ret = null;
if(mData != null){
ret = mData.get(key);
}
return ret;
}
public void setData(String key, Object data){
if (mData != null){
mData.put(key, data);
}
}
}
2. 修改AndroidManifest.xml文件:
Xml代码
<application android:name="MyApp" android:icon="@drawable/app" android:label="@string/app_name">
注意黑色粗体字标识的内容,指定程序使用我们自己定义的Application。
3、使用:
在其中一个activity中将数据保存到application中定义的map中
Java代码
MyApp app = (MyApp)getApplication(); app.put("key", "this is a test!");
然后在另一个activity中去获取数据:
Java代码
MyAppapp = (MyApp)getApplication(); String value =(String)app.get("key"); Toast.makeText(this, value, Toast.LENGTH_LONG).show();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。