Files
YukiHookAPI/docs/api/public/YukiHookModulePrefs.md

6.2 KiB
Raw Blame History

YukiHookModulePrefs [class]

class YukiHookModulePrefs(private val context: Context?)

变更记录

v1.0 添加

功能描述

实现 Xposed 模块的数据存取,对接 SharedPreferencesXSharedPreferences

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

!> 请注意此功能为实验性功能,仅在 LSPosed 环境测试通过EdXposed 理论也可以使用但不再推荐。

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

详见 New XSharedPreferences

未使用 LSPosed 环境请将你的模块 API 降至 26 以下,YukiHookAPI 将会尝试使用 makeWorldReadable 但仍有可能不成功。

太极请参阅 文件权限/配置/XSharedPreference

!> 当你在 Xposed 模块中存取数据的时候 context 必须不能是空的。

若你正在使用 PreferenceFragmentCompat,请迁移到 ModulePreferenceFragment 以适配上述功能特性。

isRunInNewXShareMode [field]

val isRunInNewXShareMode: Boolean

变更记录

v1.0.78 新增

功能描述

获取 YukiHookModulePrefs 是否正处于 EdXposed/LSPosed 的最高权限运行。

前提条件为当前 Xposed 模块已被激活。

name [method]

fun name(name: String): YukiHookModulePrefs

变更记录

v1.0 添加

功能描述

自定义 Sp 存储名称。

功能示例

Activity 中的使用方法。

示例如下

modulePrefs("custom_name").getString("custom_key")

在 Xposed 模块环境 PackageParam 中的使用方法。

示例如下

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

direct [method]

fun direct(): YukiHookModulePrefs

变更记录

v1.0.5 新增

功能描述

忽略缓存直接读取键值。

无论是否开启 YukiHookAPI.Configs.isEnableModulePrefsCache

仅在 XSharedPreferences 下生效。

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 键值。

all [method]

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

变更记录

v1.0.77 新增

功能描述

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

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

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

remove [method]

fun remove(key: String)

变更记录

v1.0 添加

功能描述

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

!> 在 XSharedPreferences 环境下只读,无法使用。

remove [method]

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

变更记录

v1.0.67 新增

功能描述

移除 PrefsData.key 的存储数据。

!> 在 XSharedPreferences 环境下只读,无法使用。

clear [method]

fun clear()

变更记录

v1.0.77 新增

功能描述

移除全部存储数据。

!> 在 XSharedPreferences 环境下只读,无法使用。

putString [method]

fun putString(key: String, value: String)

变更记录

v1.0 添加

功能描述

存储 String 键值。

!> 在 XSharedPreferences 环境下只读,无法使用。

putStringSet [method]

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

变更记录

v1.0.77 新增

功能描述

存储 Set<String> 键值。

!> 在 XSharedPreferences 环境下只读,无法使用。

putBoolean [method]

fun putBoolean(key: String, value: Boolean)

变更记录

v1.0 添加

功能描述

存储 Boolean 键值。

!> 在 XSharedPreferences 环境下只读,无法使用。

putInt [method]

fun putInt(key: String, value: Int)

变更记录

v1.0 添加

功能描述

存储 Int 键值。

!> 在 XSharedPreferences 环境下只读,无法使用。

putLong [method]

fun putLong(key: String, value: Long)

变更记录

v1.0 添加

功能描述

存储 Long 键值。

!> 在 XSharedPreferences 环境下只读,无法使用。

putFloat [method]

fun putFloat(key: String, value: Float)

变更记录

v1.0 添加

功能描述

存储 Float 键值。

!> 在 XSharedPreferences 环境下只读,无法使用。

get [method]

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

变更记录

v1.0.67 新增

功能描述

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

put [method]

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

变更记录

v1.0.67 新增

功能描述

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

!> 在 XSharedPreferences 环境下只读,无法使用。

clearCache [method]

fun clearCache()

变更记录

v1.0.5 新增

功能描述

清除 XSharedPreferences 中缓存的键值数据。

无论是否开启 YukiHookAPI.Configs.isEnableModulePrefsCache

调用此方法将清除当前存储的全部键值缓存。

下次将从 XSharedPreferences 重新读取。