2015-12-12 51 views
0

我正在创建一个应用程序,用于检查应用程序何时加载。我在MainActivity类中创建了一个值(在onCreate()方法之前)。我需要这个,因为我希望某些东西只能在第一个应用加载时运行。何时加载Activity类?我知道,只要应用程序打开并呈现,onCreate()方法就会运行,但似乎活动在应用程序关闭后的延长时间后重新加载。有没有办法在应用第一次加载时存储变量,但在onCreate()运行时不会重置?Android onCreate()vs加载的活动

+1

尝试使用共享偏好。 –

回答

0

子类Application并在应用程序的onCreate()方法中执行您正在执行的任何初始化操作。您还需要在AndroidManifest的<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");