7.1 KiB
YukiHookModulePrefs - class
class YukiHookModulePrefs private constructor(private var context: Context?)
变更记录
v1.0
添加
功能描述
实现 Xposed 模块的数据存取,对接
SharedPreferences
和XSharedPreferences
。
在不同环境智能选择存取使用的对象。
!> 请注意此功能为实验性功能,仅在 LSPosed 环境测试通过,EdXposed 理论也可以使用但不再推荐。
使用 LSPosed 环境请在 AndroidManifests.xml
中将 xposedminversion
最低设置为 93
。
若你在按照规定配置后依然无法使用或出现文件权限错误问题,可以参考 isEnableHookSharedPreferences。
未使用 LSPosed 环境请将你的模块 API
降至 26
以下,YukiHookAPI
将会尝试使用 makeWorldReadable
但仍有可能不成功。
太极请参阅 文件权限/配置/XSharedPreference。
!> 当你在 Xposed 模块中存取数据的时候 context
必须不能是空的。
若你正在使用 PreferenceFragmentCompat
,请迁移到 ModulePreferenceFragment
以适配上述功能特性。
可选配置
若你不想将你的模块的 xposedminversion
最低设置为 93
,你可以在 AndroidManifest.xml
中添加 xposedsharedprefs
来实现支持。
示例如下
<meta-data
android:name="xposedsharedprefs"
android:value="true"/>
isXSharePrefsReadable - field
val isXSharePrefsReadable: Boolean
变更记录
v1.0.90
新增
功能描述
获取
XSharedPreferences
是否可读。
!> 只能在 (Xposed) 宿主环境中使用,模块环境中始终返回 false。
isRunInNewXShareMode - field
val isRunInNewXShareMode: Boolean
变更记录
v1.0.78
新增
功能描述
获取
YukiHookModulePrefs
是否正处于 EdXposed/LSPosed 的最高权限运行。
前提条件为当前 Xposed 模块已被激活。
!> 只能在模块环境中使用,(Xposed) 宿主环境中始终返回 false
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
的存储数据。
!> 在 (Xposed) 宿主环境下只读,无法使用。
remove - method
inline fun <reified T> remove(prefs: PrefsData<T>)
变更记录
v1.0.67
新增
功能描述
移除
PrefsData.key
的存储数据。
!> 在 (Xposed) 宿主环境下只读,无法使用。
clear - method
fun clear()
变更记录
v1.0.77
新增
功能描述
移除全部存储数据。
!> 在 (Xposed) 宿主环境下只读,无法使用。
putString - method
fun putString(key: String, value: String)
变更记录
v1.0
添加
功能描述
存储
String
键值。
!> 在 (Xposed) 宿主环境下只读,无法使用。
putStringSet - method
fun putStringSet(key: String, value: Set<String>)
变更记录
v1.0.77
新增
功能描述
存储
Set<String>
键值。
!> 在 (Xposed) 宿主环境下只读,无法使用。
putBoolean - method
fun putBoolean(key: String, value: Boolean)
变更记录
v1.0
添加
功能描述
存储
Boolean
键值。
!> 在 (Xposed) 宿主环境下只读,无法使用。
putInt - method
fun putInt(key: String, value: Int)
变更记录
v1.0
添加
功能描述
存储
Int
键值。
!> 在 (Xposed) 宿主环境下只读,无法使用。
putLong - method
fun putLong(key: String, value: Long)
变更记录
v1.0
添加
功能描述
存储
Long
键值。
!> 在 (Xposed) 宿主环境下只读,无法使用。
putFloat - method
fun putFloat(key: String, value: Float)
变更记录
v1.0
添加
功能描述
存储
Float
键值。
!> 在 (Xposed) 宿主环境下只读,无法使用。
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
新增
功能描述
智能存储指定类型的键值。
!> 在 (Xposed) 宿主环境下只读,无法使用。
clearCache - method
fun clearCache()
变更记录
v1.0.5
新增
功能描述
清除
XSharedPreferences
中缓存的键值数据。
无论是否开启 YukiHookAPI.Configs.isEnableModulePrefsCache
。
调用此方法将清除当前存储的全部键值缓存。
下次将从 XSharedPreferences
重新读取。
在 (Xposed) 宿主环境中使用。