0

我有一些数据库工作需要在第一次安装和运行应用程序时完成。

我知道我需要使用SharedPreferences来跟踪它以确保它完成一次。但我的问题是什么时候应该完成这项工作(或者应该调用这样做的方法)。它是在OnCreate()应用程序的主页(第一个屏幕)上完成的,还是在 Application 类的派生类中完成的?

现在我正在应用程序类中执行此操作,但唯一的缺点是我无法显示ProgressBar以指示正在处理的事情(可能是因为尚未Context附加)。但我想首先确认这是一个正确的地方做初步的事情

谢谢

4

2 回答 2

0

我会在onCreate()usingAsyncTask中执行它,它将在后台执行它,它可以发回你所说的“第一个屏幕”进度,你可以显示进度条。

于 2013-09-02T18:06:04.817 回答
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();
}
于 2013-09-02T18:29:34.173 回答