Android:跨活动持久化对象

时间:2011-11-27 19:36:00

标签: android

我有一个用来与各种事物互动的对象。对象本身在我的第一个活动中初始化,并用于所有后续活动。什么是使其对所有活动“公开”的最佳方式?

2 个答案:

答案 0 :(得分:12)

创建一个扩展Application的类并在那里保存实例。

class MyApp extends Application{
    private Object obj;
    public Object getObject(){
         return obj;
    }
}

然后在你的活动中

MyApp ma = (MyApp)getApplicationContext();
Object o = ma.getObject();

您可以在Android开发者网站上阅读有关Application类的更多信息:http://developer.android.com/reference/android/app/Application.html

答案 1 :(得分:1)

    public class MyStorage {
        private static MyStorage ourInstance = new MyStorage();
        public static MyStorage getInstance() {
            return ourInstance;
        }
        private MyStorage() {
        }
        public HashMap<String,Object> storage=new HashMap<String, Object>();
    }

//put data
MyStorage.getInstance().storage.put("mykey", obj);

//get data
Object obj=MyStorage.getInstance().storage.get("mykey");