android之保存全局變量

使用場景:

需要在多個activity或者service之間共享數據

 

1、自定義Application

 

 

Java代碼  收藏代碼
  1. public class DemoApplication extends Application {  
  2.     private HashMap<String, Object> map = new HashMap<String, Object>();  
  3.       
  4.     public void put(String key,Object object){  
  5.         map.put(key, object);  
  6.     }  
  7.       
  8.     public Object get(String key){  
  9.         return map.get(key);  
  10.     }  
  11. }  

 

2、修改AndroidManifest.xml文件:

 

Xml代碼  收藏代碼
  1. <application <strong><em>android:name="DemoApplication"</em></strong> android:icon="@drawable/app" android:label="@string/app_name">  

 注意黑色粗體字標識的內容,指定程序使用我們自己定義的Application。

 

3、使用:

在其中一個activity中將數據保存到application中定義的map中

 

Java代碼  收藏代碼
  1. DemoApplication app = (DemoApplication)getApplication();  
  2. app.put("key""this is a test!");  
 

然後在另一個activity中去獲取數據:

 

Java代碼  收藏代碼
  1. DemoApplication app = (DemoApplication)getApplication();  
  2. String value =(String)app.get("key");  
  3. Toast.makeText(this, value, Toast.LENGTH_LONG).show();  
 

注意,這裏沒有考慮併發問題,如果需要,可以在自定義的application中添加相關的同步代碼來實現。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章