SharedPreferences

簡介它是一個輕量級的存儲類,適用於保存軟件配置參數。

運用: 

       SharedPreferencessharedPreferences = getSharedPreferences("love",Context.MODE_PRIVATE);

   Editor editor =sharedPreferences.edit();//獲取編輯器

   editor.putString("name","sbx");

   editor.putInt("age", 22);

   editor.commit();//提交修改

以上完成後會在/data/data/<package name>/shared_prefs目錄下以.xml的文件保存。

參數:1、指定該文件的名稱,名稱不帶後綴。 2、指定文件的操作模式,共有四種模式:

Context.MODE_PRIVATE:爲默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下

寫入的內容會覆蓋原文件的內容,如果想把新寫入的內容追加到源文件中,可以使用Context.MODE_APPEND

Context.MODE_APPEND: 該模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件。

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀和寫。

MODE_WORLD_READABLE:表示當前文件可以被其他應用讀取; MODE_WORLD_WRITEABLE: 表示當前文件可

被其他應用寫入。

  getPreferences(mode)方法操作SharedPreferences,這個方法默認使用當前類不帶包名的類名作爲文件名。

訪問自己的:

      SharedPreferences sharedPreferences =getSharedPreferences("love", Context.MODE_PRIVATE);

      String name =sharedPreferences.getString("name", "");

  int age =sharedPreferences.getInt("age", 1);

    getString()第二個參數爲缺省值,如果preference中不存在該key,將返回缺省值。

其他應用訪問我的:

           前提條件是:該preference創建時指定了Context.MODE_WORLD_READABLE或者 Context.MODE_WORLD_WRITEABLE。

private ContextotherAppsContext;

private  SharedPreferences sharedPreferences;

try {

        otherAppsContext =createPackageContext("com.love",Context.CONTEXT_IGNORE_SECURITY);

sharedPreferences= otherAppsContext.getSharedPreferences("love",

         Context.MODE_WORLD_READABLE );

 } catch (NameNotFoundException e) {

        e.printStackTrace();

}

     String name =sharedPreferences.getString("name", "");

     int age =sharedPreferences.getInt("age", 1);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章