2012-03-14 3 views
2

Мне нужно создать небольшое приложение для Android для моей работы в колледже, в котором представлены 10 математических проблем и ответы от пользователей, чтобы рассчитать счет.Как сохранить и извлечь данные из последнего запуска приложения Android?

В программе должен быть главный экран с кнопкой «новая игра» и кнопкой «продолжить».

Как я могу запрограммировать сохранение данных во время запуска приложения и извлечение их из сохраненного места для продолжения с этой точки, если пользователь нажимает кнопку продолжения? (какой метод я должен искать для такой задачи?)

Заранее спасибо.

+0

Это поможет вам: http://stackoverflow.com/questions/9529302/what -is-more-effective-static-data-pass-shared-preferences-database/9529787 # 9529787 –

ответ

1

Просто используйте предпочтение для хранения и извлечения значения в code.Here является фрагментом

//Set Preference 
SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE); 
SharedPreferences.Editor prefsEditor; 
prefsEditor = myPrefs.edit(); 
prefsEditor.putString("REFKEY", valuetobestored); 
prefsEditor.commit(); 

//Get Preferenece 
SharedPreferences myPrefs; 
myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE); 
String output=myPrefs.getString("REFKEY", ""); 
+0

Спасибо. Я использовал его, используя этот метод. –

0

Это зависит от типа данных, которые вы хотите сохранить. Если это действительно так, вы хотели бы сохранить их как пары значений имени в методе onSaveInstanceState или как Preferences в методе onPause, если он немного сложнее, вы можете захотеть сохранить его в SQLiteDB.

guide говорит

метод onSaveInstanceState (Bundle) вызывается перед установкой активности в таком фоне состояния, что позволяет сохранить прочь любое состояние динамического экземпляра в вашей деятельности в данной Bundle, должен быть позже получен в onCreate (Bundle), если активность должна быть воссоздана. См. Раздел «Процесс жизненного цикла» для получения дополнительной информации о о том, как жизненный цикл процесса привязан к действиям, которые он выполняет . Обратите внимание, что важно сохранить постоянные данные в onPause() вместо onSaveInstanceState (Bundle), потому что последний не является частью обратных вызовов жизненного цикла, поэтому не будет вызываться в каждой ситуации , как описано в его документации.

Это, как вы сохраните данные в onSaveInstanceState: Saving Android Activity state using Save Instance State

Это, как вы можете сохранить данные в настройках: Making data persistent in android

0

Просто используйте SharedPreferences. Проверьте эту ссылку для получения более подробной информации. 2 рано утром, чтобы дать вам пример моей: P

How do I get the SharedPreferences from a PreferenceActivity in Android?

Преференции продолжается до тех пор, пока приложение будет установлено на устройстве. Один из них удаляется, если он удаляет их.

Другая интересная вещь вы могли бы хотеть знать, если вы хотите проверить, если ваше приложение на это первый запуск, EVER, то просто проверить булево значение, которое хранится (или не хранится на первом запуске) на устройстве , :) Если его нет (он вернет значение по умолчанию), то просто измените его значение на true или что-то, и, как вы будете проверять его каждый раз, когда приложение запускается, вы узнаете, что это не первый запуск :)

Надеюсь, это поможет, ура.

0

Может быть, это не самое лучшее решение .. но это способ получить требуемую функциональность .. в по щелчку продолжить кнопку поместить этот код

finish(); 
       Intent k=new Intent(youractivitytivity.this,youractivity.class); 
k.putExtra("qno",x+1)<---- next question number to appear on screen(x is the present question number) 
k.putExtra("score",bool)<--- if the answer is right or wrong) 
       startActivity(k); 

затем в на создание вашей деятельности .. получить дополнительные услуги и проверить, какой вопрос вы должны показать ... я думаю, что у вас есть массив из 10 вопросов ..

Смежные вопросы