私はいくつかのアクティビティでアプリケーションを作成しています。 SharedPreferencesは複数のアクティビティで読み込まれます。Android SharedPreferences同じ値に割り当てられたすべての変数
SharedPreferencesファイルの1つの変数を更新すると、そのファイル内のすべての変数が割り当てられた値になります。
これが発生する一般的な理由はありますか?そうでない場合は、コードを投稿することができます。
次のコードは、次のコードは、異なる活動に常駐VALUES(すべて大文字で何かが一意の整数の定数である)
public void LevelUp(int gameType) {
step++;
SharedPreferences settings = getSharedPreferences("Steps", 0);
SharedPreferences.Editor editor = settings.edit();
switch (gameType) {
case NUMBERS_SPEED: editor.putInt("NUMBERS_SPEED", step);
case NUMBERS_BINARY: editor.putInt("NUMBERS_BINARY", step);
case NUMBERS_SPOKEN: editor.putInt("NUMBERS_SPOKEN", step);
case LISTS_WORDS: editor.putInt("LISTS_WORDS", step);
case LISTS_EVENTS: editor.putInt("LISTS_EVENTS", step);
case SHAPES_FACES: editor.putInt("SHAPES_FACES", step);
case SHAPES_ABSTRACT: editor.putInt("SHAPES_ABSTRACT", step);
case CARDS_SPEED: editor.putInt("CARDS_SPEED", step);
}
editor.commit();
}
public int getStep(int gameType) {
SharedPreferences settings = getSharedPreferences("Steps", 0);
switch (gameType) {
case NUMBERS_SPEED: return settings.getInt("NUMBERS_SPEED", 1);
case NUMBERS_BINARY: return settings.getInt("NUMBERS_BINARY", 1);
case NUMBERS_SPOKEN: return settings.getInt("NUMBERS_SPOKEN", 1);
case LISTS_WORDS: return settings.getInt("LISTS_WORDS", 1);
case LISTS_EVENTS: return settings.getInt("LISTS_EVENTS", 1);
case SHAPES_FACES: return settings.getInt("SHAPES_FACES", 1);
case SHAPES_ABSTRACT: return settings.getInt("SHAPES_ABSTRACT", 1);
case CARDS_SPEED: return settings.getInt("CARDS_SPEED", 1);
default: return -1;
}
}
を読み書きするために使用されます:
SharedPreferences settings = getSharedPreferences("Steps", 0);
step = settings.getInt("NUMBERS_SPOKEN", 1);
これは決して見られませんでした。コードは本当にここで役立つだろう。 –
あなたはコード – nandeesh