我有一些数据库工作,我需要在应用程序安装并第一次运行时完成。
我知道我需要使用SharedPreferences
来跟踪这一情况以确保它完成一次。但我的问题是应该完成这项工作(或者应该调用那些方法)。它是在应用程序主页的OnCreate()
(第一个屏幕)上完成的,还是在Application类的派生类中完成的?
现在我正在应用程序类中执行此操作,但唯一的缺点是我无法显示ProgressBar
以指示正在处理的事情(可能是因为没有Context
附上)。但我想确认这是一个正确的地方,首先做初步的事情
谢谢
答案 0 :(得分:0)
我会在onCreate()
使用AsyncTask
执行此操作,{{1}}会在后台执行此操作,它可以回发到您所谓的“首屏”进度,并且您可以显示进度条。
答案 1 :(得分:0)
试试这个
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if(!prefs.getBoolean("firstTime", false)) {
// run your one time code
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
}