2015-12-12 3 views
0

Я создаю приложение, которое проверяет, когда приложение загружается. Я создаю значение в классе MainActivity (до метода onCreate()). Мне нужно это, потому что я хочу, чтобы что-то запускалось только при первой загрузке приложения. Когда загружается класс Activity? Я знаю, что метод onCreate() работает всякий раз, когда приложение открывается и отображает, но кажется, что активность перезагружается после продолжительного времени при закрытии приложения. Есть ли способ сохранить переменную, когда приложение загружается первым, но не сбрасывается при запуске onCreate()?Android onCreate() vs Activity Loaded

+1

Попробуйте использовать общие предпочтения. –

ответ

0

Подкласс Application и выполните любую инициализацию, которую вы выполняете внутри метода onCreate() приложения. Вам также нужно указать имя вашего класса Application в теге AndroidManifest's <application>. Это будет запускаться один раз при каждом запуске вашего приложения.

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

0
SharedPreferences.Editor ed=PreferenceManager.getDefaultSharedPreferences(YourActivityName.this).edit(); 

ed.putString("key","value").commit(); 

И вернуть значение из общих предпочтений сделать это:

String storedValue=PreferenceManager.getDefaultSharedPreferences(YourActivityName.this).getString("key","default Value In Case The Variable Hasn'tBeen Created"); 
Смежные вопросы