我使用了 here 中的代码提示将预填充的数据文件复制到目标并在异步任务中处理它。
在启动应用程序时,它给出错误并在第一次关闭时重新启动,没有任何更改,它工作得很好。 所以第一次复制文件后,出现错误,但之后就没有问题了。
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();
}
}
}
最佳答案
尝试用这种方法复制数据库。它看起来和你提供的链接的答案一样,但有一些不同。 Database not copying from assets
关于android - 将文件从 Assets 复制到数据文件夹后,数据未首次在 android 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2955638/