一、SharedPreferences的簡介
很多時候我們開發的軟件需要向用戶提供軟件參數設置功能,例如我們常用的QQ,用戶可以設置是否允許陌生人添加自己為好友。對于軟件配置參數的保存,如果是window軟件通常我們會采用ini文件進行保存,如果是j2se應用,我們會采用properties屬性文件進行保存。如果是Android應用,我們最適合采用什么方式保存軟件配置參數呢?Android平臺給我們提供了一個SharedPreferences類,它是一個輕量級的存儲類,特別適合用于保存軟件配置參數。使用SharedPreferences保存數據,其背后是用xml文件存放數據,文件存放在/data/data/<package name>/shared_prefs目錄下。
實際上SharedPreferences處理的就是一個key-value(鍵值對)。
獲取SharedPreferences的兩種方式:
1 調用Context對象的getSharedPreferences()方法
2 調用Activity對象的getPreferences()方法兩種方式的區別:調用Context對象的
getSharedPreferences()方法獲得的SharedPreferences對象可以被同一應用程序下的其他[組件]共享.調用Activity對象的getPreferences()方法獲得的SharedPreferences對象只能在該Activity中使用.
SharedPreferences的四種操作模式:
Context.MODE_PRIVATE:為默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容
Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件.
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀寫該文件.MODE_WORLD_READABLE:表示當前文件可以被其他應用讀取.MODE_WORLD_WRITEABLE:表示當前文件可以被其他應用寫入.
二、SharedPreferences的實例
下面我們用一個例子來看一下SharedPreferences的實際使用:
1、需求:我們希望在第一個頁面輸入姓名、性別、學校,然后點擊保存按鈕,將用戶輸入的數據保存并跳轉到第二個界面中,在第二個界面中,點擊讀取數據按鈕,將保存的數據分別讀取并顯示出來。
GetDataActivity的布局文件activity_get_data.xml