Android SharedPreferences的理解與使用


Android SharedPreferences的理解與使用

1、獲取SharedPreferences:

要想使用 SharedPreferences 來存儲數據,首先需要獲取到 SharedPreferences 對象。Android中主要提供了三種方法用於得到 SharedPreferences 對象。

1. Context 類中的 getSharedPreferences()方法:
 此方法接收兩個參數,第一個參數用於指定 SharedPreferences 文件的名稱,如果指定的文件不存在則會創建一個,第二個參數用於指定操作模式,主要有以下幾種模式可以選擇。MODE_PRIVATE 是默認的操作模式,和直接傳入 0 效果是相同的。
 MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 這兩種模式已在 Android 4.2 版本中被廢棄。 

Context.MODE_PRIVATE: 指定該SharedPreferences數據只能被本應用程序讀、寫;
Context.MODE_WORLD_READABLE: 指定該SharedPreferences數據能被其他應用程序讀,但不能寫;
Context.MODE_WORLD_WRITEABLE: 指定該SharedPreferences數據能被其他應用程序讀;
Context.MODE_APPEND:該模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件;

 2. Activity 類中的 getPreferences()方法:
 這個方法和 Context 中的 getSharedPreferences()方法很相似,不過它只接收一個操作模式參數,因為使用這個方法時會自動將當前活動的類名作為 SharedPreferences 的文件名。

 3. PreferenceManager 類中的 getDefaultSharedPreferences()方法:
 這是一個靜態方法,它接收一個 Context 參數,並自動使用當前應用程序的包名作為前綴來命名 SharedPreferences 文件。 

2.SharedPreferences的使用

SharedPreferences對象本身只能獲取數據而不支持存儲和修改,存儲修改是通過SharedPreferences.edit()獲取的內部接口Editor對象實現。使用Preference來存取數據,用到了SharedPreferences接口和SharedPreferences的一個內部接口SharedPreferences.Editor,這兩個接口在android.content包中;

 1)寫入數據:
     //步驟1:創建一個SharedPreferences對象
     SharedPreferences sharedPreferences= getSharedPreferences("data",Context.MODE_PRIVATE);
     //步驟2: 實例化SharedPreferences.Editor對象
     SharedPreferences.Editor editor = sharedPreferences.edit();
     //步驟3:將獲取過來的值放入文件
     editor.putString("name", “Tom”);
     editor.putInt("age", 28);
     editor.putBoolean("marrid",false);
     //步驟4:提交               
     editor.commit();


 2)讀取數據:
     SharedPreferences sharedPreferences= getSharedPreferences("data", Context .MODE_PRIVATE);
     String userId=sharedPreferences.getString("name","");

3)刪除指定數據
     editor.remove("name");
     editor.commit();


4)清空數據
     editor.clear();
     editor.commit();  

注意:如果在 Fragment 中使用SharedPreferences 時,需要放在onAttach(Activity activity)里面進行SharedPreferences的初始化,否則會報空指針 即 getActivity()會可能返回null !

 讀寫其他應用的SharedPreferences 步驟如下(未實踐):
 1. 在創建SharedPreferences時,指定MODE_WORLD_READABLE模式,表明該  SharedPreferences數據可以被其他程序讀取;
 2. 創建其他應用程序對應的Context;
 3. 使用其他程序的Context獲取對應的SharedPreferences;
 4. 如果是寫入數據,使用Editor接口即可,所有其他操作均和前面一致; 


免責聲明!

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



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