Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android--獲取SharedtPreference實例

Android--獲取SharedtPreference實例

編輯:關於Android編程

現在我目前知道可以獲取SharedPreferences實例的常用方法有三個:

1.通過Context的getSharedPreferences(String name,int mode)。

2.通過Activity的getPreferences(int mode)。

3.通過SharedPreferenceManager的靜態方法getDefaultSharedPreferences(Context context)。


mode 的取值和含義:

mode指定為MODE_PRIVATE,則該配置文件只能被自己的應用程序訪問。
mode指定為MODE_WORLD_READABLE,則該配置文件除了自己訪問外還可以被其它應該程序讀取。
mode指定為MODE_WORLD_WRITEABLE,則該配置文件除了自己訪問外還可以被其它應該程序讀取和寫入



三種方式的區別:


Context的getSharedPreferences(String name,int mode)會按照我們的指定的名字為文件名稱和指定的模式來指定文件權限。


Activity中的源碼:

\\

從Activity中的源碼我們可以看出我們調用Activity中的getPreference方法實際上還是調用了Context的getSharedPreferences(String name,int mode)這個方法。只不過有一點區別是它會按照我們指定的模式和使用當前類不帶包名的類名作為文件的名稱。



SharedPreferenceManager中的源碼:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"/uploadfile/Collfiles/20150210/2015021008494024.png" alt="">

源碼中我們可以看出我們調用getDefaultSharedPreference(Context context)這個方法實際上還是調用了context的getSharedPreferences(String name, int mode)方法,只不過我們生成的xml文件的名字為PackageName加上 _preferences,並且將這個文件將采用默認的MODE_PRIVATE模式。


總結:

本質區別就是保存的文件名字不一樣和訪問權限不同。第一種名字和權限是自己設計的。第二種只有權限是我們設計的,文件名字是當前類不帶包名的類名。第三種名字是包名加上_preferences ,權限默認為只能自己的應用程序訪問。



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved