首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android SharedPreferences 正確讀寫:命名文件與編輯器模式

     編輯:程式設計綜合問答

錯誤代碼

SharedPreferences pref = getPreferences(MODE_WORLD_WRITEABLE);
pref.edit().putString("key", "value");
pref.edit().commit(); // 錯誤:每次 edit() 返回新 Editor,第一次修改丟失

正確寫法

// 1. 使用命名文件,跨組件共享
SharedPreferences sp = getSharedPreferences("my_prefs", MODE_PRIVATE);

// 2. 獲取編輯器,連續操作後一次提交
SharedPreferences.Editor editor = sp.edit();
editor.putString("key", "value");
editor.putInt("count", 1);
editor.apply(); // 異步寫入,性能優於 commit()

// 3. 讀取
String val = sp.getString("key", "default");

關鍵點

  • getPreferences() 僅限當前 Activity 私有,無法跨組件訪問。
  • MODE_WORLD_WRITEABLE/READABLE 已棄用(API 17+),不安全,統一用 MODE_PRIVATE + FileProvider 或進程間通信。
  • 編輯器鏈式調用,最後 apply()(非阻塞)或 commit()(同步返回結果)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved