我创建了一个闪屏,效果很好。现在我想在显示初始屏幕时加载数据库,并在数据库完全加载后显示应用程序 UI。
我有以下代码来执行此操作,对吗?
public class Splash extends Activity{
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
new LoadDatabase().execute();
}
@Override
protected void onPause() {
super.onPause();
finish();
}
// Load DB
protected class LoadDatabase extends AsyncTask<Context, Integer, String>
{
@Override
protected String doInBackground( Context... params ) {
try {
new DatabaseHelper(getApplicationContext()).initializeDatabase();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
@Override
protected void onPreExecute() {
super.onPreExecute();
setContentView(R.layout.splash);
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Intent openMain = new Intent("com.nepways.MAIN");
startActivity(openMain);
}
}
有什么好的例子或者建议吗??请帮我解决这个问题。
最佳答案
您可以通过异步或线程和处理程序执行此操作
protected class MyTask extends AsyncTask<Context, Integer, String>
{
@Override
protected String doInBackground( Context... params )
{
// write ur database functionality
}
// -- gets called just before thread begins
@Override
protected void onPreExecute()
{
// u may show ur progressbar or spalsh screen
super.onPreExecute();
}
// -- called as soon as doInBackground method completes
@Override
protected void onPostExecute()
{
super.onPostExecute(result);
// Intent openMain = new Intent("com.nepways.MAIN");
startActivity(openMain);
}
}
试试这个……也许对你有帮助
关于android - 初始化数据库时如何显示启动画面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7644404/