import{_ as p,r as l,o as t,c,b as e,d as s,e as a,a as n}from"./app-CLu4Xwf8.js";const d={},r=n(`
注意
由于维护成本,YukiHookAPI 从 1.3.0 版本开始将不再会对此文档进行更新且在 2.0.0 版本切换为 Dokka 插件自动生成的 API 文档。
class YukiHookPrefsBridge private constructor(private var context: Context?)
变更记录
v1.0 添加
v1.1.9 修改
更名为 YukiHookModulePrefsYukiHookPrefsBridge
功能描述
YukiHookAPI对SharedPreferences、XSharedPreferences的扩展存储桥实现。
在不同环境智能选择存取使用的对象。
特别注意
模块与宿主之前共享数据存储为实验性功能,仅在 LSPosed 环境测试通过,EdXposed 理论也可以使用但不再推荐。
使用 LSPosed 环境请在 AndroidManifests.xml 中将 xposedminversion 最低设置为 93。
对于在模块环境中使用 PreferenceFragmentCompat,YukiHookAPI 提供了 ModulePreferenceFragment 来实现同样的功能。
可选配置
若你不想将你的模块的 xposedminversion 最低设置为 93,你可以在 AndroidManifest.xml 中添加 xposedsharedprefs 来实现支持。
示例如下
<meta-data
android:name="xposedsharedprefs"
android:value="true"/>
变更记录
v1.0.90 新增
v1.1.5 作废
请迁移到 isPreferencesAvailable
变更记录
v1.0.78 新增
v1.1.5 作废
请迁移到 isPreferencesAvailable
val isPreferencesAvailable: Boolean
变更记录
v1.1.5 新增
功能描述
获取当前
YukiHookPrefsBridge的可用状态。
在 (Xposed) 宿主环境中返回 XSharedPreferences 可用状态 (可读)。
在模块环境中返回当前是否处于 New XSharedPreferences 模式 (可读可写)。
fun name(name: String): YukiHookPrefsBridge
变更记录
v1.0 添加
功能描述
自定义 Sp 存储名称。
功能示例
在 Activity 中的使用方法。
示例如下
prefs("custom_name").getString("custom_key")
在 (Xposed) 宿主环境 PackageParam 中的使用方法。
示例如下
prefs("custom_name").getString("custom_key")
变更记录
v1.0.5 新增
v1.1.11 作废
键值的直接缓存功能已被移除,因为其存在内存溢出 (OOM) 问题
fun native(): YukiHookPrefsBridge
变更记录
v1.1.9 新增
功能描述
忽略当前环境直接使用
Context.getSharedPreferences存取数据。
fun getString(key: String, value: String): String
变更记录
v1.0 添加
功能描述
获取
String键值。
fun getStringSet(key: String, value: Set<String>): Set<String>
变更记录
v1.0.77 新增
功能描述
获取
Set<String>键值。
fun getBoolean(key: String, value: Boolean): Boolean
变更记录
v1.0 添加
功能描述
获取
Boolean键值。
fun getInt(key: String, value: Int): Int
变更记录
v1.0 添加
功能描述
获取
Int键值。
fun getLong(key: String, value: Long): Long
变更记录
v1.0 添加
功能描述
获取
Long键值。
fun getFloat(key: String, value: Float): Float
变更记录
v1.0 添加
功能描述
获取
Float键值。
fun contains(key: String): Boolean
变更记录
v1.1.9 新增
功能描述
判断当前是否包含
key键值的数据。
智能识别对应环境读取键值数据。
fun all(): MutableMap<String, Any?>
变更记录
v1.0.77 新增
功能描述
获取全部存储的键值数据。
智能识别对应环境读取键值数据。
特别注意
每次调用都会获取实时的数据,不受缓存控制,请勿在高并发场景中使用。
变更记录
v1.0 添加
v1.1.9 作废
请迁移到 edit 方法
变更记录
v1.0.77 新增
v1.1.9 作废
请迁移到 edit 方法
变更记录
v1.0 添加
v1.1.9 作废
请迁移到 edit 方法
变更记录
v1.0.77 新增
v1.1.9 作废
请迁移到 edit 方法
变更记录
v1.0 添加
v1.1.9 作废
请迁移到 edit 方法
变更记录
v1.0 添加
v1.1.9 作废
请迁移到 edit 方法
变更记录
v1.0 添加
v1.1.9 作废
请迁移到 edit 方法
变更记录
v1.0 添加
v1.1.9 作废
请迁移到 edit 方法
inline fun <reified T> get(prefs: PrefsData<T>, value: T): T
变更记录
v1.0.67 新增
功能描述
智能获取指定类型的键值。
变更记录
v1.0.67 新增
v1.1.9 作废
请迁移到 edit 方法
fun edit(): Editor
变更记录
v1.1.9 新增
功能描述
创建新的
Editor。
在模块环境中或启用了 isUsingNativeStorage 后使用。
注意
在 (Xposed) 宿主环境下只读,无法使用。
fun edit(initiate: Editor.() -> Unit)
变更记录
v1.1.9 新增
功能描述
创建新的
Editor。
自动调用 Editor.apply 方法。
在模块环境中或启用了 isUsingNativeStorage 后使用。
注意
在 (Xposed) 宿主环境下只读,无法使用。
变更记录
v1.0.5 新增
v1.1.11 作废
键值的直接缓存功能已被移除,因为其存在内存溢出 (OOM) 问题
inner class Editor internal constructor()
变更记录
v1.1.9 新增
功能描述
YukiHookPrefsBridge的存储代理类。
请使用 edit 方法来获取 Editor。
在模块环境中或启用了 isUsingNativeStorage 后使用。
注意
在 (Xposed) 宿主环境下只读,无法使用。
fun remove(key: String): Editor
变更记录
v1.1.9 新增
功能描述
移除全部包含
key的存储数据。
inline fun <reified T> remove(prefs: PrefsData<T>): Editor
变更记录
v1.1.9 新增
功能描述
移除
PrefsData.key的存储数据。
fun clear(): Editor
变更记录
v1.1.9 新增
功能描述
移除全部存储数据。
fun putString(key: String, value: String): Editor
变更记录
v1.1.9 新增
功能描述
存储
String键值。
fun putStringSet(key: String, value: Set<String>): Editor
变更记录
v1.1.9 新增
功能描述
存储
Set<String>键值。
fun putBoolean(key: String, value: Boolean): Editor
变更记录
v1.1.9 新增
功能描述
存储
Boolean键值。
fun putInt(key: String, value: Int): Editor
变更记录
v1.1.9 新增
功能描述
存储
Int键值。
fun putLong(key: String, value: Long): Editor
变更记录
v1.1.9 新增
功能描述
存储
Long键值。
fun putFloat(key: String, value: Float): Editor
变更记录
v1.1.9 新增
功能描述
存储
Float键值。
inline fun <reified T> put(prefs: PrefsData<T>, value: T): Editor
变更记录
v1.1.9 新增
功能描述
智能存储指定类型的键值。
fun commit(): Boolean
变更记录
v1.1.9 新增
功能描述
提交更改 (同步)。
fun apply()
变更记录
v1.1.9 新增
功能描述
`,249);function k(m,b){const o=l("ExternalLinkIcon");return t(),c("div",null,[r,e("p",null,[s("详见 "),e("a",i,[s("New XSharedPreferences"),a(o)]),s("。")]),g,y,e("p",null,[s("太极请参阅 "),e("a",h,[s("文件权限/配置/XSharedPreference"),a(o)]),s("。")]),u,e("p",null,[s("详见 "),e("a",A,[s("New XSharedPreferences"),a(o)]),s("。")]),D])}const v=p(d,[["render",k],["__file","YukiHookPrefsBridge.html.vue"]]);export{v as default};提交更改 (异步)。