1.SharedPreferences簡介
為了保存軟件的設置參數,Android 平台為我們提供了一個SharedPreferences 類,它是一個輕量級的存儲類,特別適合用於保存軟件配置參數。使用SharedPreferences 保存數據,其背后是用xml文件存放數據,文件存放在/data/data/<package name>/shared_prefs 目錄下。
2.獲取SharedPreferences對象方法:
SharedPreferences pre = Context.getSharedPreferences(String name,int mode);
注:name為本組件的配置文件名(如果想要與本應用程序的其他組件共享此配置文件,可以用這個名字來檢索到這個配置文件,在這里要特別注意,因為在Android 中已經確定了SharedPreferences 是以xml形式保存,所以,在填寫文件名參數時,不要給定“.xml”后綴,android會自動添加。只要直接寫上文件名即可。它會直接被保存在/data/data/<package name>/shared_prefs路徑下,它是采用鍵值對的形式保存參數。當你需要獲得某個參數值時,按照參數的鍵索引即可)。
SharedPreferences pre = Activity.getPreferences(int mode);
注:配置文件僅可以被調用的Activity使用。mode為操作模式,默認的模式為0或MODE_PRIVATE,還可以使用MODE_APPEND、MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。
SharedPreferences pre = PreferenceManager.getDefaultSharedPreferences(Context);
注:每個應用都有一個默認的配置文件preferences.xml,使用getDefaultSharedPreferences獲取。
3.SharedPreferences使用步驟:
SharedPreferences使用非常簡單,能夠輕松地存放數據和讀取數據。SharedPreferences只能保存簡單類型的數據,例如:String、int等。一般會將復雜類型的數據轉換成Base64編碼,然后將轉換后的數據以字符串的形式保存在XML文件中,再用SharedPreferences保存。
使用SharedPreferences保存key-value對的步驟如下:
1)獲得SharedPreferences對象
2)獲得SharedPreferences.Editor對象。
3)通過SharedPreferences.Editor接口的putXxx()方法存放key-value對(其中Xxx表示不同的數據類型。如:字符串類型的value需要用putString()方法)。
4)通過SharedPreferences.Editor接口的commit()方法保存key-value對(commit方法相當於數據庫事務中的提交(commit)操作)。
4.存儲數據和讀取數據的流程:
存儲數據信息
1)打開名為configuration的配置文件,如果存在則打開它,否則創建新的名為configuration的配置文件
SharedPreferences sharedPreferences = getSharedPreferences("configuration", 0);
2)讓sharedPreferences處於編輯狀態
SharedPreferences.Editor editor = sharedPreferences.edit();
3)存放數據
editor.putString("name","harvey");
4)完成提交
editor.commit();
讀取數據信息
1)打開名為configuration的配置文件
SharedPreferences sharedPreferences = getSharedPreferences("configuration", 0);
2)獲取數據
String name = sharedPreferences.getString("name","默認值");
以上就是Android中SharedPreferences的使用方法,其中創建的配置文件存放位置可以在Eclipse中查看:
DDMS --- File Explorer --- data/data/<package name>/shared_prefs/configuration.xml