ここにはこれらのタイプの質問がたくさんあることは知っていますが、うまくいくものをまだ見つけていません。
過去30分ほどSharedPreferencesで遊んでいますが、これまでのところ値は問題なく保存されていますが、戻るボタンを長押しするかタスクマネージャーを使用してプロセスを強制終了し、アプリを再起動すると、デフォルト値に戻ります。
イコライザーを実行していて、フラット/リセット ボタンがあるため、デフォルト値は 50 です。
ええ、基本的にどのように値を保存して保存しておくのですか?!
これが私のさまざまな試みです:
試行 1:
private int isFirstTime()
{
SharedPreferences sp = getSharedPreferences("sliders", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
for (int i = 0; i < num_sliders && i < MAX_SLIDERS; i++) {
editor.putInt("sliders", sliders[i].getProgress());
editor.putInt("bass_boost", bass_boost.getProgress());
editor.commit();
}
return num_sliders;
}
試行 2:
public int saveProgress(){
SharedPreferences sp = getSharedPreferences("sliders2", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("sliders", sliders[0].getProgress());
editor.putInt("sliders2", sliders[1].getProgress());
editor.putInt("sliders3", sliders[2].getProgress());
editor.putInt("sliders4", sliders[3].getProgress());
editor.putInt("sliders5", sliders[4].getProgress());
editor.putInt("sliders6", sliders[5].getProgress());
editor.putInt("sliders7", sliders[6].getProgress());
editor.putInt("sliders8", sliders[7].getProgress());
editor.putInt("sliders9", sliders[8].getProgress());
editor.putInt("sliders10", sliders[9].getProgress());
editor.putInt("bass_boost", bass_boost.getProgress());
editor.commit();
return min_level - max_level;
}
試行 3:
public int getProgress(){
SharedPreferences sp = getSharedPreferences("sliders", MODE_PRIVATE);
for (int i = 0; i < num_sliders && i < MAX_SLIDERS; i++) {
num_sliders = sp.getInt("sliders", 0);
}
num_sliders = sp.getInt("bass_boost", 0);
return num_sliders;
}
試行 4:
public int getProgress2(){
SharedPreferences sp = getSharedPreferences("sliders", Activity.MODE_PRIVATE);
num_sliders = sp.getInt("sliders1", -1);
num_sliders = sp.getInt("sliders2", -1);
num_sliders = sp.getInt("sliders3", -1);
num_sliders = sp.getInt("sliders4", -1);
num_sliders = sp.getInt("sliders5", -1);
num_sliders = sp.getInt("sliders6", -1);
num_sliders = sp.getInt("sliders7", -1);
num_sliders = sp.getInt("sliders8", -1);
num_sliders = sp.getInt("sliders9", -1);
num_sliders = sp.getInt("sliders10", -1);
num_sliders = sp.getInt("bass_boost", -1);
return num_sliders;
}
アプリの更新を展開する必要があるため、どんな助けも大歓迎です!
ありがとうございました。