6

ファイルから、SharedPreferences xml ファイルを SD カードにバックアップします。

File taskExceptionFile = new File(Environment.getDataDirectory()
                + "/data/" + packageName + "/shared_prefs/" + TaskAction.SHARED_PREF_TITLE_TASK_EXCEPTION + ".xml");

ただし、ファイルを復元するときに、ファイルが開かれている場合

SharedPreferences sp = context.getSharedPreferences(TaskAction.SHARED_PREF_TITLE_TASK_EXCEPTION, 0);

復元する前に、SharedPreferences にキャッシュがあるようです。復元後にルート エクスプローラーを使用してファイルを確認します。値は実際にはバックアップ ファイルの値ですが、使用すると

sp.getInt(TaskAction.SHARED_PREF_TASK, 0)

値を取得するには、値はバックアップ ファイルからの新しい値ではなく、デフォルト値 0 を返します。アプリを強制停止し、アプリを再入力すると、値は新しい値になります。

それで、新しい値を取得できるように、ファイルを復元するときにすぐに SharedPreferences を更新する方法を尋ねたいですか?

下手な英語でごめんなさい~~~

4

0 に答える 0