557

アプリケーションの SharedPreferences データを削除するにはどうすればよいですか?

多くの Web サービスを使用してデータを同期するアプリケーションを作成しています。テストの目的で、アプリを再起動するときにいくつかの SharedPreferences 値を消去する必要があります。

4

27 に答える 27

966

特定の値を削除するには: SharedPreferences.Editor.remove()の後にcommit()

それらをすべて削除するには、SharedPreferences.Editor.clear()その後にcommit()

戻り値を気にせず、アプリケーションのメイン スレッドからこれを使用している場合は、apply()代わりに使用することを検討してください。

于 2010-09-10T18:37:05.217 に答える
199

私の解決策:

SharedPreferences preferences = getSharedPreferences("Mypref", 0);
preferences.edit().remove("text").commit();
于 2011-12-07T05:39:38.130 に答える
147

すべての設定の削除:

SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE);
settings.edit().clear().commit();

単一設定の削除:

SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE);
settings.edit().remove("KeyName").commit();
于 2013-03-29T07:56:33.013 に答える
72

毎回削除する必要がない場合は、次から手動で削除できます。

設定 -> アプリケーション -> アプリケーションの管理 -> (アプリを選択) -> データの消去またはアンインストール

Android の新しいバージョン:

設定 -> アプリケーション -> (アプリを選択) -> ストレージ -> データの消去とキャッシュの消去

于 2012-01-18T20:28:30.450 に答える
28

Android共有設定を1行で削除する:-)

context.getSharedPreferences("YOUR_PREFS", 0).edit().clear().commit();

またはapply非ブロッキング非同期操作の場合:

this.getSharedPreferences("YOUR_PREFS", 0).edit().clear().apply();
于 2015-08-27T08:24:55.713 に答える
22

すべてのソリューションが完全に機能していないか、完全に機能していないようです

アクティビティ内のすべての SharedPreferences をクリアするには

PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit().clear().apply();

onCreate の後に Main Activity からこれを呼び出します

注*.apply()の代わりに使用.commit()しました。commit(); は自由に選択できます。

于 2016-03-15T10:37:02.460 に答える
11

ルート化された電話がなくても、adb シェルを使用してこれを行うことができます。唯一の問題は、アプリがデバッグ可能でなければならないことです。

run-as <your package name> <command>

例えば:

run-as com.asdf.blah rm /data/data/com.asdf.blah/databases/myDB.db

あるいは、アプリ パッケージ ルートに移動し、アプリのコンテキストでより多くのコマンドを実行できるようにするコマンドを使用せずに、上記を実行することもできます。

于 2013-03-10T06:03:24.593 に答える
11
Editor editor = getSharedPreferences("clear_cache", Context.MODE_PRIVATE).edit();
editor.clear();
editor.commit();
于 2014-07-07T11:28:08.877 に答える
10

デバイスを使用してアプリを手動でアンインストールすることもできます。その後、アプリを再インストールすると、共有設定がリセットされます。

于 2014-09-19T16:32:58.580 に答える
4

設定からキーと値のペアを削除するには、次のように簡単に実行できます。

getActivity().getSharedPreference().edit().remove("key").apply();

また、共有設定を簡単に操作するためのライブラリも開発しました。次のリンクを見つけることができます

https://github.com/farruhha/SimplePrefs

于 2018-08-16T23:47:00.763 に答える
3
  • 特定の値を削除するには、

SharedPreferences.Editor remove(String key)の後に commit() または apply()

  • すべての値を削除するには、

    SharedPreferences.Editor clear()の後に commit() または apply()

于 2017-12-27T17:28:29.940 に答える
-5

今朝これをやったところです。コマンド プロンプトから:

adb shell
cd /data/data/YOUR_PACKAGE_NAME/shared_prefs
rm * // to remove all shared preference files
rm YOUR_PREFS_NAME.xml // to remove a specific shared preference file

: これには、ストック Android 仮想デバイス、Genymotion デバイス、または実際にルート化されたハンドセット/タブレットなどのルート化されたデバイスが必要です。

于 2010-12-21T12:48:45.043 に答える