1

私はアプリケーション用のウィジェットを開発してきましたが、問題が発生し続けます。アプリケーションを閉じると、ウィジェットはすべての値を再起動して機能し続けます。ウィジェットの値を保持するにはどうすればよいですか?私はサービスを使用してXMLファイルを読み取り、アプリケーションを閉じた場合にデフォルト値に再起動する変数に関する情報を入力しています。ウィジェットのonUpdateからサービスを呼び出します。

4

1 に答える 1

2

を使用しSharedPreferencesます。これらにより、設定と永続的な値をデバイスのストレージに保存できます。

これを行うには、次のようにして設定をロードします。

SharedPreferences prefs = context.getSharedPreferences("SETTINGS", 0);
int x = prefs.getInt("x", 5); // Pulls an integer with key "x", defaulting to 5 if it's not set
String y = prefs.getString("y", null); // Pulls an string with key "y", defaulting to null if it's not set

そして、次のように設定を保存できます。

SharedPreferences prefs = context.getSharedPreferences("SETTINGS", 0);
Editor edit = prefs.edit();
edit.putInt("x", 27);
edit.putString("y", "Some string");
edit.commit();

注:SETTINGSここでアイテムを呼び出しましたが、後で再度ロードしたい基本的なタイプのデータを格納できます ( Stringintfloatなど)。

ストレージオプションSharedPreferences.

于 2012-11-05T21:51:59.660 に答える