-1

我正在尝试将首选项存储在“pref.xml”文件中。我使用以下代码来执行此操作。

SharedPreferences pref=getSharedPreferences(pref_file,Context.MODE_PRIVATE);
        SharedPreferences.Editor add=pref.edit();
        add.putString("password",usrpass); 

现在我想检查它是否已存储。我该怎么做。我不想在我的代码中这样做。我只想在我的文件中手动检查它。运行代码后我的文件如下所示。

<?xml version="1.0" encoding="utf-8"?>
    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
        <CheckBoxPreference android:defaultValue="true"
             android:key="@string/first"/>
        <Preference android:key="@string/pass"/>
    </PreferenceScreen>

在这里我看不到存储的任何密码值。关于此的任何建议。

4

1 回答 1

0

您在“pref.xml”中没有看到任何变化的原因是它只是一个用于构建(视觉)首选项屏幕的资源文件。

实际的首选项保存在一个名为“pref_file”(或您决定如何称呼它)的文件中,该文件位于文件夹“/data/data/(app package name)/shared_prefs/”中。

要提取它,您可以使用 adb(在 Android SDK 子文件夹“platform-tools”中)和命令“pull”...

这是我为简化工作而制作的一个小型 Windows BAT 脚本:

    @echo off
    title Retrieve application preferences
    cd C:\Android\android-sdk\platform-tools
    adb pull "/data/data/com.tovine.alcotool/shared_prefs/com.tovine.alcotool_preferences.xml" "C:\Android\Extracted app data\shared_prefs.xml"
    echo Application preferences extracted, see "Extracted app data" folder
    pause
    exit

如果您愿意,您可以修改它以适合您的应用程序并自由使用它... :)

于 2012-06-17T21:39:04.287 回答