gpt4 book ai didi

android - 升级数据库时显示进度对话框

转载 作者:太空狗 更新时间:2023-10-29 12:56:26 25 4
gpt4 key购买 nike

我的应用程序的下一个版本需要升级数据库,这需要相当多的时间。我想显示一个 progressDialog 来向用户更新进度。问题是,我不太清楚如何以及在何处创建对话框。

我的基本设置是我有一个本质上是启动画面的 Activity 。我想在此屏幕上显示进度。我有一个单独的 DbAdapter.java 文件,其中 DatabaseHelper 类扩展了 SQLiteOpenHelper,我在其中覆盖了 onUpgrade(升级部分工作正常)。

我已经尝试了几个不同的地方来实现进度对话框,但我似乎没有找到合适的地方。我尝试将上下文从我的闪屏 Activity 传递到 onUpgrade,但是当 onUpgrade 运行时,它似乎是从我的 ContentProvider 获取上下文。

有没有人有一个很好的例子来说明如何在升级数据库时显示进度对话框?

最佳答案

您需要实现一个AsyncTask。示例:

class YourAsyncTask extends AsyncTask<Void, Void, Void> {

private ProgressDialog progressDialog;

@Override
protected void onPreExecute() {
//show your dialog here
progressDialog = ProgressDialog.show(this, "title", "message", true, false)
}

@Override
protected Void doInBackground(Void... params) {
//update your DB - it will run in a different thread
return null;
}

@Override
protected void onPostExecute(Void result) {
//hide your dialog here
progressDialog.dismiss();
}
}

然后你只需要调用

new YourAsyncTask().execute();

您可以在此处阅读有关 AsyncTask 的更多信息:http://developer.android.com/reference/android/os/AsyncTask.html

关于android - 升级数据库时显示进度对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com