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

Android SharedPreferences 讀取所有 Key 的正確方法

     編輯:程式設計綜合問答

需求場景

欲驗證用戶是否已註冊,需讀取 SharedPreferences 中所有鍵值對。有人嘗試解析 XML 檔案,實屬過度設計。

標準 API 方案

SharedPreferences 提供 getAll() 方法,直接返回 Map<String, ?>,遍歷即可:

Map<String, ?> allData = sharedPreferences.getAll();
for (Map.Entry<String, ?> entry : allData.entrySet()) {
    String key = entry.getKey();
    Object value = entry.getValue();
    // 業務邏輯判斷
}

為何不建議解析 XML

  • XML 檔案路徑在不同 Android 版本、裝置製造商可能不同。
  • 系統可能對 XML 進行優化或加密,直接讀取不可靠。
  • 官方 API 保證跨版本相容與執行緒安全。

效能提示

getAll() 會一次性載入所有資料,若資料量極大(超過數 MB),建議改用 registerOnSharedPreferenceChangeListener 監聽特定鍵變更,避免全量讀取造成主執行緒卡頓。

善用框架提供的高階 API,能寫出更健壯、可維護的程式碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved