## YukiHookModulePrefs [class]
```kotlin
class YukiHookModulePrefs(private val context: Context?)
```
变更记录
`v1.0` `添加`
功能描述
> 实现 Xposed 模块的数据存取,对接 `SharedPreferences` 和 `XSharedPreferences`。
在不同环境智能选择存取使用的对象。
!> 请注意此功能为实验性功能,仅在 LSPosed 环境测试通过,EdXposed 理论也可以使用但不再推荐。
使用 LSPosed 环境请在 `AndroidManifests.xml` 中将 `xposedminversion` 最低设置为 `93`。
详见 [New XSharedPreferences](https://github.com/LSPosed/LSPosed/wiki/New-XSharedPreferences#for-the-module)。
未使用 LSPosed 环境请将你的模块 `API` 降至 `26` 以下,`YukiHookAPI` 将会尝试使用 `makeWorldReadable` 但仍有可能不成功。
太极请参阅 [文件权限/配置/XSharedPreference](https://taichi.cool/zh/doc/for-xposed-dev.html#文件权限-配置-xsharedpreference)。
!> 当你在 Xposed 模块中存取数据的时候 `context` 必须不能是空的。
### name [method]
```kotlin
fun name(name: String): YukiHookModulePrefs
```
变更记录
`v1.0` `添加`
功能描述
> 自定义 Sp 存储名称。
功能示例
在 `Activity` 中的使用方法。
> 示例如下
```kotlin
modulePrefs("custom_name").getString("custom_key")
```
在 Xposed 模块环境 `PackageParam` 中的使用方法。
> 示例如下
```kotlin
prefs("custom_name").getString("custom_key")
```
### direct [method]
```kotlin
fun direct(): YukiHookModulePrefs
```
变更记录
`v1.0.5` `新增`
功能描述
> 忽略缓存直接读取键值。
无论是否开启 `YukiHookAPI.Configs.isEnableModulePrefsCache`。
仅在 `XSharedPreferences` 下生效。
### getString [method]
```kotlin
fun getString(key: String, value: String): String
```
变更记录
`v1.0` `添加`
功能描述
> 获取 `String` 键值。
### getBoolean [method]
```kotlin
fun getBoolean(key: String, value: Boolean): Boolean
```
变更记录
`v1.0` `添加`
功能描述
> 获取 `Boolean` 键值。
### getInt [method]
```kotlin
fun getInt(key: String, value: Int): Int
```
变更记录
`v1.0` `添加`
功能描述
> 获取 `Int` 键值。
### getLong [method]
```kotlin
fun getLong(key: String, value: Long): Long
```
变更记录
`v1.0` `添加`
功能描述
> 获取 `Long` 键值。
### getFloat [method]
```kotlin
fun getFloat(key: String, value: Float): Float
```
变更记录
`v1.0` `添加`
功能描述
> 获取 `Float` 键值。
### remove [method]
```kotlin
fun remove(key: String)
```
变更记录
`v1.0` `添加`
功能描述
> 移除全部包含 `key` 的存储数据。
!> 在 `XSharedPreferences` 环境下只读,无法使用。
### remove [method]
```kotlin
inline fun remove(prefs: PrefsData)
```
变更记录
`v1.0.67` `新增`
功能描述
> 移除 `PrefsData.key` 的存储数据。
!> 在 `XSharedPreferences` 环境下只读,无法使用。
### putString [method]
```kotlin
fun putString(key: String, value: String)
```
变更记录
`v1.0` `添加`
功能描述
> 存储 `String` 键值。
!> 在 `XSharedPreferences` 环境下只读,无法使用。
### putBoolean [method]
```kotlin
fun putBoolean(key: String, value: Boolean)
```
变更记录
`v1.0` `添加`
功能描述
> 存储 `Boolean` 键值。
!> 在 `XSharedPreferences` 环境下只读,无法使用。
### putInt [method]
```kotlin
fun putInt(key: String, value: Int)
```
变更记录
`v1.0` `添加`
功能描述
> 存储 `Int` 键值。
!> 在 `XSharedPreferences` 环境下只读,无法使用。
### putLong [method]
```kotlin
fun putLong(key: String, value: Long)
```
变更记录
`v1.0` `添加`
功能描述
> 存储 `Long` 键值。
!> 在 `XSharedPreferences` 环境下只读,无法使用。
### putFloat [method]
```kotlin
fun putFloat(key: String, value: Float)
```
变更记录
`v1.0` `添加`
功能描述
> 存储 `Float` 键值。
!> 在 `XSharedPreferences` 环境下只读,无法使用。
### get [method]
```kotlin
inline fun get(prefs: PrefsData, value: T): T
```
变更记录
`v1.0.67` `新增`
功能描述
> 智能获取指定类型的键值。
### put [method]
```kotlin
inline fun put(prefs: PrefsData, value: T)
```
变更记录
`v1.0.67` `新增`
功能描述
> 智能存储指定类型的键值。
!> 在 `XSharedPreferences` 环境下只读,无法使用。
### clearCache [method]
```kotlin
fun clearCache()
```
变更记录
`v1.0.5` `新增`
功能描述
> 清除 `XSharedPreferences` 中缓存的键值数据。
无论是否开启 `YukiHookAPI.Configs.isEnableModulePrefsCache`。
调用此方法将清除当前存储的全部键值缓存。
下次将从 `XSharedPreferences` 重新读取。