web-dev-qa-db-ja.com

アプリケーションの終了後に変数を保存しますか?

アプリをシャットダウンしたときに変数を保存し、アプリを開いた後にそれらをロードしたい(ゲームの統計用)

これどうやってするの?

編集:ここに私のコード:

TextView test1;
String punkte = "15";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    SharedPreferences save = getSharedPreferences(punkte, 0);
    save.edit().putString("score", punkte);

    SharedPreferences load = getSharedPreferences(punkte, 0);
    String points = load.getString("score", "0");

    test1 = (TextView) findViewById(R.id.test1);
    test1.setText(points);

    }    
21
Stupe

SharedPrefencesを使用する必要があります。それらは非常に使いやすく、変数をアプリケーションデータに格納します。ユーザーがアプリケーションの設定で「データの消去」にアクセスしない限り、それらは常にそこにあります。

これがコードサンプルです。

変数にアクセスするには:

SharedPreferences mPrefs = getSharedPreferences("label", 0);
String mString = mPrefs.getString("tag", "default_value_if_variable_not_found");

変数を編集してコミット(保存)するには:

SharedPreferences.Editor mEditor = mPrefs.edit();
mEditor.putString("tag", value_of_variable).commit();

両方の「タグ」フィールドが一致することを確認してください!

42
Mxyk

SharedPreferenceを使用してください。これはより良いオプションです。

this チュートリアルをご覧ください。

6
MAC

サンプルコード:保存:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = settings.edit();
editor.putString("statepara1", ts);
editor.commit();

取得する:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);    
String ret = settings.getString("statepara1", "0");
3
enjoy-writing