语言

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 方法返回的对象必须由应用程序视为不可变的。

共享首选项最适合存储有关用户喜欢如何体验应用的数据,例如,用户更喜欢特定 UI 主题,还是首选在列表中查看特定内容与网格。 为此,SharedPreferences 会反映更改Editor#commit() committedEditor#apply() applied立即Editor<></em>,在持久保留这些更改之前。 在某些情况下(例如应用崩溃或终止)可能会丢失这些更改,即使 OnSharedPreferenceChangeListener 报告更改成功也是如此。 不建议使用共享首选项来存储对此类回退到以前状态(例如用户安全或隐私设置)敏感的数据。 有关其他高级数据持久性选项,请参阅 RoomDataStore

<em>Note:</em> Common 实现保证当主机活动停止时,对首选项文件的未完成编辑将持久保存到磁盘。 在某些情况下(例如,在离开主机活动之前执行许多 Editor#commit() 操作或 Editor#apply() 操作),这可能会导致在生命周期转换事件和相关 ANR 错误期间阻止主线程。 有关更多详细信息,请参阅文档 Editor#commit()Editor#apply()

<em>注意:此类不支持跨多个进程使用。</em>

<div class=“special reference”><h3>Developer Guides</h3>

有关使用共享首选项的详细信息,请阅读 数据存储 开发人员指南。

</Div>

Java文档android.content.SharedPreferences

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

属性

名称 说明
All

从首选项中检索所有值。

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniObjectReferenceControlBlock

用于访问和修改由 Context#getSharedPreferences. 返回的首选项数据的接口。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回JniObjectReference包装的Java对象实例。

(继承自 IJavaPeerable)

方法

名称 说明
Contains(String)

检查首选项是否包含首选项。

Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Edit()

为这些首选项创建新的编辑器,通过该编辑器可以对首选项中的数据进行修改,并将这些更改以原子方式提交回 SharedPreferences 对象。

Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
GetBoolean(String, Boolean)

从首选项中检索布尔值。

GetFloat(String, Single)

从首选项中检索浮点值。

GetInt(String, Int32)

从首选项中检索 int 值。

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)

取消注册以前的回调。

扩展方法

名称 说明
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端有效。

适用于