Мое приложение - это основной счетчик для гольфа, который в основном представляет собой массив "дырочных" объектов, который содержит 2 целых числа; номер отверстия и номер хода.
Я пытаюсь сохранить информацию на телефоне в виде строки, когда приложение будет убито, а затем прочитайте его и используйте String.split()
и Integer.parse()
, чтобы записать информацию обратно в массив.
Я использую OnPause()
и OnResume()
, и я тестировал свое приложение, нажимая кнопку со стрелкой назад, чтобы узнать, сохраняется ли она. Но я не могу заставить его работать.
Я имею право использовать OnPause()
и OnResume()
?
если вы хотите, чтобы значения сохранялись постоянно, вам нужно использовать SharedPreferences следующим образом:
(within onCreate)
...
SharedPreferences user_info = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
hole = user_info.getInt("hole", 0);
stroke = user_info.getInt("stroke", 0);
...
}
@Override
public void onPause()
{
super.onPause();
SharedPreferences user_info = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
user_info.edit()
user_info.putInt("hole", hole)
user_info.putInt("strike", stroke)
user_info.commit();
}
если вы не включаете commit()
, тогда ничего не происходит. также вы можете (и я бы) использовать цепочку методов для SharedPreferences
, я просто подумал, что должен держать ее простой.
так же легко оставить их как int (или int [] я was not the clear, что вы собираетесь делать) вместо того, чтобы иметь дело со всем этим расщеплением и синтаксическим анализом. теперь, если вы пытаетесь добавить их так, чтобы каждый раз, когда вы выходите, ваша дыра и забастовка добавляются в вечно растущий массив, это немного сложнее, и я могу помочь вам в этом, если это так.
Как вы можете видеть на прикрепленном изображении. OnPause() и OnResume() - это правильные места:
Вы должны проверить свой код. Как вы сохраняете данные? Как он читается? Сделайте некоторый отладочный вывод logcat...
Возможно, вы должны использовать базу данных mySQL для сохранения данных.
Если он уже не знаком с этим, стоит прочитать http://developer.android.com/guide/topics/data/data-storage.html