import{_ as p,r as l,o as t,c,b as e,d as s,e as a,a as n}from"./app-BpUB8-Q8.js";const d={},r=n(`

注意

由于维护成本,YukiHookAPI1.3.0 版本开始将不再会对此文档进行更新且在 2.0.0 版本切换为 Dokka 插件自动生成的 API 文档。

YukiHookPrefsBridge - class

class YukiHookPrefsBridge private constructor(private var context: Context?)

变更记录

v1.0 添加

v1.1.9 修改

YukiHookModulePrefs 更名为 YukiHookPrefsBridge

功能描述

YukiHookAPISharedPreferencesXSharedPreferences 的扩展存储桥实现。

在不同环境智能选择存取使用的对象。

特别注意

模块与宿主之前共享数据存储为实验性功能,仅在 LSPosed 环境测试通过,EdXposed 理论也可以使用但不再推荐。

使用 LSPosed 环境请在 AndroidManifests.xml 中将 xposedminversion 最低设置为 93

`,12),i={href:"https://github.com/LSPosed/LSPosed/wiki/New-XSharedPreferences#for-the-module",target:"_blank",rel:"noopener noreferrer"},g=e("p",null,[s("若你在按照规定配置后依然无法使用或出现文件权限错误问题,可以参考 "),e("a",{href:"../../../YukiHookAPI#isenablehooksharedpreferences-field"},"isEnableHookSharedPreferences"),s("。")],-1),y=e("p",null,[s("未使用 LSPosed 环境请将你的模块 "),e("code",null,"API"),s(" 降至 "),e("code",null,"26"),s(" 以下,"),e("code",null,"YukiHookAPI"),s(" 将会尝试使用 "),e("code",null,"makeWorldReadable"),s(" 但仍有可能不成功。")],-1),h={href:"https://taichi.cool/zh/doc/for-xposed-dev.html#%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90-%E9%85%8D%E7%BD%AE-xsharedpreference",target:"_blank",rel:"noopener noreferrer"},u=n("

对于在模块环境中使用 PreferenceFragmentCompatYukiHookAPI 提供了 ModulePreferenceFragment 来实现同样的功能。

可选配置

若你不想将你的模块的 xposedminversion 最低设置为 93,你可以在 AndroidManifest.xml 中添加 xposedsharedprefs 来实现支持。

",3),A={href:"https://github.com/LSPosed/LSPosed/wiki/New-XSharedPreferences#for-the-module",target:"_blank",rel:"noopener noreferrer"},D=n(`

示例如下

<meta-data
    android:name="xposedsharedprefs"
    android:value="true"/>

isXSharePrefsReadable - field

变更记录

v1.0.90 新增

v1.1.5 作废

请迁移到 isPreferencesAvailable

isRunInNewXShareMode - field

变更记录

v1.0.78 新增

v1.1.5 作废

请迁移到 isPreferencesAvailable

isPreferencesAvailable - field

val isPreferencesAvailable: Boolean

变更记录

v1.1.5 新增

功能描述

获取当前 YukiHookPrefsBridge 的可用状态。

在 (Xposed) 宿主环境中返回 XSharedPreferences 可用状态 (可读)。

在模块环境中返回当前是否处于 New XSharedPreferences 模式 (可读可写)。

name - method

fun name(name: String): YukiHookPrefsBridge

变更记录

v1.0 添加

功能描述

自定义 Sp 存储名称。

功能示例

Activity 中的使用方法。

示例如下

prefs("custom_name").getString("custom_key")

在 (Xposed) 宿主环境 PackageParam 中的使用方法。

示例如下

prefs("custom_name").getString("custom_key")

direct - method

变更记录

v1.0.5 新增

v1.1.11 作废

键值的直接缓存功能已被移除,因为其存在内存溢出 (OOM) 问题

native - method

fun native(): YukiHookPrefsBridge

变更记录

v1.1.9 新增

功能描述

忽略当前环境直接使用 Context.getSharedPreferences 存取数据。

getString - method

fun getString(key: String, value: String): String

变更记录

v1.0 添加

功能描述

获取 String 键值。

getStringSet - method

fun getStringSet(key: String, value: Set<String>): Set<String>

变更记录

v1.0.77 新增

功能描述

获取 Set<String> 键值。

getBoolean - method

fun getBoolean(key: String, value: Boolean): Boolean

变更记录

v1.0 添加

功能描述

获取 Boolean 键值。

getInt - method

fun getInt(key: String, value: Int): Int

变更记录

v1.0 添加

功能描述

获取 Int 键值。

getLong - method

fun getLong(key: String, value: Long): Long

变更记录

v1.0 添加

功能描述

获取 Long 键值。

getFloat - method

fun getFloat(key: String, value: Float): Float

变更记录

v1.0 添加

功能描述

获取 Float 键值。

contains - method

fun contains(key: String): Boolean

变更记录

v1.1.9 新增

功能描述

判断当前是否包含 key 键值的数据。

智能识别对应环境读取键值数据。

all - method

fun all(): MutableMap<String, Any?>

变更记录

v1.0.77 新增

功能描述

获取全部存储的键值数据。

智能识别对应环境读取键值数据。

特别注意

每次调用都会获取实时的数据,不受缓存控制,请勿在高并发场景中使用。

remove - method

变更记录

v1.0 添加

v1.1.9 作废

请迁移到 edit 方法

clear - method

变更记录

v1.0.77 新增

v1.1.9 作废

请迁移到 edit 方法

putString - method

变更记录

v1.0 添加

v1.1.9 作废

请迁移到 edit 方法

putStringSet - method

变更记录

v1.0.77 新增

v1.1.9 作废

请迁移到 edit 方法

putBoolean - method

变更记录

v1.0 添加

v1.1.9 作废

请迁移到 edit 方法

putInt - method

变更记录

v1.0 添加

v1.1.9 作废

请迁移到 edit 方法

putLong - method

变更记录

v1.0 添加

v1.1.9 作废

请迁移到 edit 方法

putFloat - method

变更记录

v1.0 添加

v1.1.9 作废

请迁移到 edit 方法

get - method

inline fun <reified T> get(prefs: PrefsData<T>, value: T): T

变更记录

v1.0.67 新增

功能描述

智能获取指定类型的键值。

put - method

变更记录

v1.0.67 新增

v1.1.9 作废

请迁移到 edit 方法

edit - method

fun edit(): Editor

变更记录

v1.1.9 新增

功能描述

创建新的 Editor

在模块环境中或启用了 isUsingNativeStorage 后使用。

注意

在 (Xposed) 宿主环境下只读,无法使用。

edit - method

fun edit(initiate: Editor.() -> Unit)

变更记录

v1.1.9 新增

功能描述

创建新的 Editor

自动调用 Editor.apply 方法。

在模块环境中或启用了 isUsingNativeStorage 后使用。

注意

在 (Xposed) 宿主环境下只读,无法使用。

clearCache - method

变更记录

v1.0.5 新增

v1.1.11 作废

键值的直接缓存功能已被移除,因为其存在内存溢出 (OOM) 问题

Editor - class

inner class Editor internal constructor()

变更记录

v1.1.9 新增

功能描述

YukiHookPrefsBridge 的存储代理类。

请使用 edit 方法来获取 Editor

在模块环境中或启用了 isUsingNativeStorage 后使用。

注意

在 (Xposed) 宿主环境下只读,无法使用。

remove - method

fun remove(key: String): Editor

变更记录

v1.1.9 新增

功能描述

移除全部包含 key 的存储数据。

remove - method

inline fun <reified T> remove(prefs: PrefsData<T>): Editor

变更记录

v1.1.9 新增

功能描述

移除 PrefsData.key 的存储数据。

clear - method

fun clear(): Editor

变更记录

v1.1.9 新增

功能描述

移除全部存储数据。

putString - method

fun putString(key: String, value: String): Editor

变更记录

v1.1.9 新增

功能描述

存储 String 键值。

putStringSet - method

fun putStringSet(key: String, value: Set<String>): Editor

变更记录

v1.1.9 新增

功能描述

存储 Set<String> 键值。

putBoolean - method

fun putBoolean(key: String, value: Boolean): Editor

变更记录

v1.1.9 新增

功能描述

存储 Boolean 键值。

putInt - method

fun putInt(key: String, value: Int): Editor

变更记录

v1.1.9 新增

功能描述

存储 Int 键值。

putLong - method

fun putLong(key: String, value: Long): Editor

变更记录

v1.1.9 新增

功能描述

存储 Long 键值。

putFloat - method

fun putFloat(key: String, value: Float): Editor

变更记录

v1.1.9 新增

功能描述

存储 Float 键值。

put - method

inline fun <reified T> put(prefs: PrefsData<T>, value: T): Editor

变更记录

v1.1.9 新增

功能描述

智能存储指定类型的键值。

commit - method

fun commit(): Boolean

变更记录

v1.1.9 新增

功能描述

提交更改 (同步)。

apply - method

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};