import{_ as e,o as s,c as o,a}from"./app.fb8271cf.js";const n={},l=a(`

Xposed \u6A21\u5757\u6570\u636E\u5B58\u50A8

\u8FD9\u662F\u4E00\u4E2A\u81EA\u52A8\u5BF9\u63A5 SharedPreferences \u548C XSharedPreferences \u7684\u9AD8\u6548\u6A21\u5757\u6570\u636E\u5B58\u50A8\u89E3\u51B3\u65B9\u6848\u3002

\u6211\u4EEC\u9700\u8981\u5B58\u50A8\u6A21\u5757\u7684\u6570\u636E\uFF0C\u4EE5\u4F9B\u5BBF\u4E3B\u8C03\u7528\uFF0C\u8FD9\u4E2A\u65F6\u5019\u4F1A\u9047\u5230\u539F\u751F Sp \u5B58\u50A8\u7684\u6570\u636E\u4E92\u901A\u963B\u788D\u3002

\u539F\u751F\u7684 Xposed \u7ED9\u6211\u4EEC\u63D0\u4F9B\u4E86\u4E00\u4E2A XSharedPreferences \u7528\u4E8E\u8BFB\u53D6\u6A21\u5757\u7684 Sp \u6570\u636E\u3002

\u5728 Activity \u4E2D\u4F7F\u7528

\u8FD9\u91CC\u63CF\u8FF0\u4E86\u5728 Activity \u4E2D\u88C5\u8F7D YukiHookModulePrefs \u7684\u573A\u666F\u3002

\u901A\u5E38\u60C5\u51B5\u4E0B\u6211\u4EEC\u53EF\u4EE5\u8FD9\u6837\u5728 Hook APP (\u5BBF\u4E3B) \u5185\u5BF9\u5176\u8FDB\u884C\u521D\u59CB\u5316\u3002

\u793A\u4F8B\u5982\u4E0B

XSharedPreferences(BuildConfig.APPLICATION_ID)

\u6709\u6CA1\u6709\u65B9\u4FBF\u5FEB\u6377\u7684\u89E3\u51B3\u65B9\u6848\u5462\uFF0C\u6B64\u65F6\u4F60\u5C31\u53EF\u4EE5\u4F7F\u7528 YukiHookAPI \u7684\u6269\u5C55\u80FD\u529B\u5FEB\u901F\u5B9E\u73B0\u8FD9\u4E2A\u529F\u80FD\u3002

\u5F53\u4F60\u5728\u6A21\u5757\u4E2D\u5B58\u50A8\u6570\u636E\u7684\u65F6\u5019\uFF0C\u82E5\u5F53\u524D\u5904\u4E8E Activity \u5185\uFF0C\u53EF\u4EE5\u4F7F\u7528\u5982\u4E0B\u65B9\u6CD5\u3002

\u793A\u4F8B\u5982\u4E0B

modulePrefs.putString("test_name", "saved_value")

\u5F53\u4F60\u5728 Hook APP (\u5BBF\u4E3B) \u4E2D\u8BFB\u53D6\u6570\u636E\u65F6\uFF0C\u53EF\u4EE5\u4F7F\u7528\u5982\u4E0B\u65B9\u6CD5\u3002

\u793A\u4F8B\u5982\u4E0B

val testName = prefs.getString("test_name", "default_value")

\u4F60\u4E0D\u9700\u8981\u8003\u8651\u4F20\u5165\u6A21\u5757\u7684\u5305\u540D\u4EE5\u53CA\u4E00\u7CFB\u5217\u590D\u6742\u7684\u6743\u9650\u914D\u7F6E\uFF0C\u4E00\u5207\u90FD\u4EA4\u7ED9 YukiHookModulePrefs \u6765\u5904\u7406\u3002

\u82E5\u8981\u5B9E\u73B0\u5B58\u50A8\u7684\u533A\u57DF\u5212\u5206\uFF0C\u4F60\u53EF\u4EE5\u6307\u5B9A\u6BCF\u4E2A prefs \u6587\u4EF6\u7684\u540D\u79F0\u3002

\u5728\u6A21\u5757\u7684 Activity \u4E2D\u8FD9\u6837\u4F7F\u7528\u3002

\u793A\u4F8B\u5982\u4E0B

// \u63A8\u8350\u7528\u6CD5
modulePrefs("specify_file_name").putString("test_name", "saved_value")
// \u4E5F\u53EF\u4EE5\u8FD9\u6837\u7528
modulePrefs.name("specify_file_name").putString("test_name", "saved_value")

\u5728 Hook APP (\u5BBF\u4E3B) \u4E2D\u8FD9\u6837\u8BFB\u53D6\u3002

\u793A\u4F8B\u5982\u4E0B

// \u63A8\u8350\u7528\u6CD5
val testName = prefs("specify_file_name").getString("test_name", "default_value")
// \u4E5F\u53EF\u4EE5\u8FD9\u6837\u7528
val testName = prefs.name("specify_file_name").getString("test_name", "default_value")

\u82E5\u4F60\u7684\u9879\u76EE\u4E2D\u6709\u5927\u91CF\u7684\u56FA\u5B9A\u6570\u636E\u9700\u8981\u5B58\u50A8\u548C\u8BFB\u53D6\uFF0C\u63A8\u8350\u4F7F\u7528 PrefsData \u6765\u521B\u5EFA\u6A21\u677F\u3002

\u5C0F\u63D0\u793A

\u66F4\u591A\u529F\u80FD\u8BF7\u53C2\u8003 YukiHookModulePrefs\u3001PrefsData\u3002

\u5728 PreferenceFragment \u4E2D\u4F7F\u7528

\u8FD9\u91CC\u63CF\u8FF0\u4E86\u5728 PreferenceFragment \u4E2D\u88C5\u8F7D YukiHookModulePrefs \u7684\u573A\u666F\u3002

\u82E5\u4F60\u7684\u6A21\u5757\u4F7F\u7528\u4E86 PreferenceFragmentCompat\uFF0C\u4F60\u73B0\u5728\u53EF\u4EE5\u5C06\u5176\u7EE7\u627F\u7C7B\u5F00\u59CB\u8FC1\u79FB\u5230 ModulePreferenceFragment\u3002

\u7279\u522B\u6CE8\u610F

\u4F60\u5FC5\u987B\u7EE7\u627F ModulePreferenceFragment \u624D\u80FD\u5B9E\u73B0 YukiHookModulePrefs \u7684\u6A21\u5757\u5B58\u50A8\u529F\u80FD\u3002

\u5C0F\u63D0\u793A

\u66F4\u591A\u529F\u80FD\u8BF7\u53C2\u8003 ModulePreferenceFragment\u3002

`,31),p=[l];function c(t,r){return s(),o("div",null,p)}const d=e(n,[["render",c],["__file","xposed-storage.html.vue"]]);export{d as default};