2011-11-27 75 views
1

我有一個對象,我用它來與各種事物進行交互。該對象本身在我的第一個活動中初始化,並用於所有後續活動。使所有活動「公開」的最佳方式是什麼?Android:跨活動的堅持對象

回答

10

創建一個擴展Application並在其中保存實例的類。

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

然後

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

你可以閱讀更多有關應用程序級的Android開發者網站:http://developer.android.com/reference/android/app/Application.html

+0

+1我欠你一個人情,所以在這裏雅去... – samosaris

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"); 
+1

介意添加一些解釋? –

+0

在你的項目中創建MyStorage類,然後每當你需要存儲一個對象時使用[MyStorage.getInstance()。storage.put(「mykey」,obj);]並且每當你想讀取它時使用[Object obj = MyStorage。的getInstance()storage.get( 「的myKey」);。] –