Похоже, что предполагаемое использование каркаса open helper - открыть БД при запуске действия и закрыть его, когда действие уничтожено.
В AsyncTask изнутри onCreate () ...
new StartupTask().execute();
AsyncTask Thread.sleep () ниже просто для того, чтобы дать достаточно времени для отображения диалога, чтобы вы могли видеть, как он работает.Очевидно, убери это, когда закончишь играть.;)
private class StartupTask extends AsyncTask
{
private ProgressDialog progressDialog;
@Override
protected Object doInBackground(final Object... objects)
{
openHelperRef.getWritableDatabase();
try
{
Thread.sleep(5000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
return null;
}
@Override
protected void onPreExecute()
{
super.onPreExecute();
runOnUiThread(new Runnable()
{
public void run()
{
progressDialog = ProgressDialog.show(
MyActivity.this, "Title",
"Opening/Upgrading the database, please wait", true);
}
});
}
@Override
protected void onPostExecute(Object object)
{
super.onPostExecute(object);
progressDialog.dismiss();
}
}
в onDestroy () ... openHelper.close ();