Как сохранить и загрузить информацию на телефон из приложения?

1

Мое приложение - это основной счетчик для гольфа, который в основном представляет собой массив "дырочных" объектов, который содержит 2 целых числа; номер отверстия и номер хода.

Я пытаюсь сохранить информацию на телефоне в виде строки, когда приложение будет убито, а затем прочитайте его и используйте String.split() и Integer.parse(), чтобы записать информацию обратно в массив.

Я использую OnPause() и OnResume(), и я тестировал свое приложение, нажимая кнопку со стрелкой назад, чтобы узнать, сохраняется ли она. Но я не могу заставить его работать.

Я имею право использовать OnPause() и OnResume()?

Теги:

3 ответа

0
Лучший ответ

если вы хотите, чтобы значения сохранялись постоянно, вам нужно использовать 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, что вы собираетесь делать) вместо того, чтобы иметь дело со всем этим расщеплением и синтаксическим анализом. теперь, если вы пытаетесь добавить их так, чтобы каждый раз, когда вы выходите, ваша дыра и забастовка добавляются в вечно растущий массив, это немного сложнее, и я могу помочь вам в этом, если это так.

0

Как вы можете видеть на прикрепленном изображении. OnPause() и OnResume() - это правильные места:

Изображение 174551

Вы должны проверить свой код. Как вы сохраняете данные? Как он читается? Сделайте некоторый отладочный вывод logcat...

Возможно, вы должны использовать базу данных mySQL для сохранения данных.

0

Если он уже не знаком с этим, стоит прочитать http://developer.android.com/guide/topics/data/data-storage.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню