SharedPreferences的本質是基於XML文件存儲key-value鍵值對數據,通常用來存儲一些簡單的配置信息,用Sqlite數據庫來存放並不划算,因爲數據庫連接跟操作等耗時大大影響了程序的效率。其存儲位置在/data/data/<包名>/shared_prefs目錄下。
另外SharedPreferences只能保存簡單類型的數據,例如,String、int等。一般會將複雜類型的數據轉換成Base64編碼,然後將轉換後的數據以字符串的形式保存在 XML文件中,再用SharedPreferences保存。
使用SharedPreferences保存key-value對的步驟如下:
(1)使用Activity類的getSharedPreferences方法獲得SharedPreferences對象,其中存儲key-value的文件的名稱由getSharedPreferences方法的第一個參數指定,第二個參數指定訪問應用程序私有文件的權限。
(2)使用SharedPreferences接口的edit獲得SharedPreferences.Editor對象。
(3)通過SharedPreferences.Editor接口的putXxx方法保存key-value對。其中Xxx表示不同的數據類型。例如:字符串類型的value需要用putString方法。
(4)通過SharedPreferences.Editor接口的commit方法保存key-value對。commit方法相當於數據庫事務中的提交(commit)操作。