語言

ISharedPreferences 介面

定義

用於存取及修改由 返回的 Context#getSharedPreferences偏好資料的介面。

[Android.Runtime.Register("android/content/SharedPreferences", "", "Android.Content.ISharedPreferencesInvoker")]
public interface ISharedPreferences : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/content/SharedPreferences", "", "Android.Content.ISharedPreferencesInvoker")>]
type ISharedPreferences = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
屬性
實作

備註

用於存取及修改由 返回的 Context#getSharedPreferences偏好資料的介面。 對於任何特定的偏好集合,所有用戶端都會共享這個類別的單一實例。 偏好設定的修改必須經過物件, Editor 以確保偏好值維持一致狀態並控制何時提交儲存。 從各種 get 方法回傳的物件必須被應用程式視為不可變。

SharedPreferences 最適合儲存使用者偏好如何體驗應用程式的資料,例如使用者偏好特定 UI 主題,或偏好以清單形式觀看特定內容而非格子。 為此,SharedPreferences 會立即反映變更Editor#commit() committed,或Editor#apply() applied即時Editor<><>反映,可能在這些變更持續存在之前。 在某些情況下,如應用程式當機或終止,這些變更可能會遺失,即使 OnSharedPreferenceChangeListener 報告變更已成功。 不建議使用 SharedPreferences 儲存對此類回滾敏感的資料,例如使用者安全或隱私設定。 關於其他高階資料持久化選項,請參見 Room 或 DataStore。

<em>注意:</em> 常見實作保證當主機活動停止時,對偏好設定檔案的未完成編輯會持續保存到磁碟。 在某些情況下(例如在離開主機活動前執行多項Editor#commit()Editor#apply()操作時),可能導致生命週期轉換事件及相關 ANR 錯誤阻塞主執行緒。 更多細節請參閱 Editor#commit() 和 Editor#apply()的文件。

<em>注意:此類別不支援跨多個程序使用。</em>

<div class=“特殊參考”><h3>開發者指南</h3>

欲了解更多使用 SharedPreferences 的資訊,請閱讀 資料儲存 開發指南。

</div>

Java 文件 android.content.SharedPreferences。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

屬性

名稱 Description
All

從偏好設定中取得所有數值。

Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
JniIdentityHashCode

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

用於存取及修改由 返回的 Context#getSharedPreferences偏好資料的介面。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

回傳JniObjectReference包裹後的 Java 物件實例。

(繼承來源 IJavaPeerable)

方法

名稱 Description
Contains(String)

檢查偏好設定是否包含偏好。

Disposed()

當實例被處理後才被召喚。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果沒有未解決的參考資料,則 Dispose()呼叫;否則,則不做任何事。

(繼承來源 IJavaPeerable)
Edit()

為這些偏好設定建立一個新的編輯器,透過它你可以修改偏好設定中的資料,並將這些變更原子性提交回 SharedPreferences 物件。

Finalized()

當實例完成後才會被通知。

(繼承來源 IJavaPeerable)
GetBoolean(String, Boolean)

從偏好設定中取得一個布林值。

GetFloat(String, Single)

從偏好設定中取得浮點數值。

GetInt(String, Int32)

從偏好設定中取得整數值。

GetLong(String, Int64)

從偏好設定中取得多頭值。

GetString(String, String)

從偏好設定中取得一個字串值。

GetStringSet(String, ICollection<String>)

從偏好設定中取得一組字串值。

RegisterOnSharedPreferenceChangeListener(ISharedPreferencesOnSharedPreferenceChangeListener)

註冊回調,當偏好設定發生變更時會被呼叫。

SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode。

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

用於存取及修改由 返回的 Context#getSharedPreferences偏好資料的介面。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference。

(繼承來源 IJavaPeerable)
UnregisterFromRuntime()

取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。

(繼承來源 IJavaPeerable)
UnregisterOnSharedPreferenceChangeListener(ISharedPreferencesOnSharedPreferenceChangeListener)

取消先前的回撥。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

用於存取及修改由 返回的 Context#getSharedPreferences偏好資料的介面。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於