Android數據持久化--獲取SharedPreferences三種方式


 SharedPreferences簡介

    用於訪問和修改getSharedPreferences(String, int)返回偏好設置數據(preference data)的一個接口。對於任何一組特殊的preferences,所有的客戶端共享一個此類單獨的實例。修改Preferences必須通過一個SharedPreferences.Editor對象,以確保當他們提交存儲數據的操作時,preference值保持一致的狀態。

示例代碼

        譯注:SharedPreferences保存位置:/data/data/app_name/shared_prefs/*.xml

private boolean flag = false;

 

//取得活動的Preferences對象

SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE);

//取得值

flag = settings.getBoolean(“flag”,false);

 

//取得活動的Preferences對象

SharedPreferences settings = getPreferences(0);

//取得編輯對象

SharedPreferences.Editor editor = settings.edit();

//添加值

editor.putBoolean(“true”,flag);

//提交保存

editor.commit();

 

      Preferences在Android當中被用來記錄應用,以及用戶喜好等等,它可以用來保存簡單的數據類型,如Int,Double,Boolean等。Preferences中保存的數據可以理解為Map型。

      Android數據持久化方法中最簡單的一種,即使用Preferences的鍵值對存儲方式。這種方式主要用來存儲比較簡單的一些數據, 

而且是標准的Boolean、Int、Float、Long、String等類型。

  android.content.SharedPreferences是一個接口,用來獲取和修改持久化存儲的數據。

有三種獲取系統中保存的持久化數據的方式:

 1.this.getPreferences (int mode)

     通過Activity對象獲取,獲取的是本Activity私有的Preference,保存在系統中的xml形式的文件的名稱為這個Activity的名字,因此一個Activity只能有一個,屬於這個Activity。

2.this.getSharedPreferences (String name, int mode)

    因為Activity繼承了ContextWrapper,因此也是通過Activity對象獲取,但是屬於整個應用程序,可以有多個,以第一參數的name為文件名保存在系統中。

3.PreferenceManager.getDefaultSharedPreferences(this);

    PreferenceManager的靜態函數,保存PreferenceActivity中的設置,屬於整個應用程序,但是只有一個,Android會根據包名和PreferenceActivity的布局文件來起一個名字保存。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM