ここからのコードヒントを使用して 、事前に入力されたデータファイルをターゲットにコピーし、非同期タスクでこれを処理しました。
アプリケーションを起動すると、エラーが発生して最初にシャットダウンし、変更を加えずに再起動すると、完全に正常に機能します。したがって、ファイルがコピーされた後、最初はエラーが発生しますが、その後は問題は発生しません。
private class CopyDatabase extends AsyncTask<String, Void, Boolean> {
private final ProgressDialog dialog = new ProgressDialog(BabyNames.this);
protected void onPreExecute() {
this.dialog.setMessage("Loading...");
this.dialog.show();
}
@Override
protected Boolean doInBackground(String... params) {
// TODO Auto-generated method stub
try {
namesDBSQLHelper.createDatabase();
return null;
} catch(IOException ioe){
ioe.printStackTrace();
}
return null;
}
protected void onPostExecute(final Boolean success){
if (this.dialog.isShowing()){
this.dialog.dismiss();
}
}
}