我在/ data / data路径中编写数据库副本的代码。但它给出了这个错误
sqlite3_open_v2("/data/data/com.mycom.package/databases/My Bookback", &handle, 2, NULL) failed
Caused by: android.database.sqlite.SQLiteException: unable to open database file and copy. 05-23 13:19:46.746: ERROR/AndroidRuntime(9120):
Caused by: android.database.sqlite.SQLiteException: no such table: Details: ,
答案 0 :(得分:1)
问题是dest目录无法出现在文件系统上。
我以这种方式解决了。
File fDir = new File(DB_PATH);
if (!fDir.exists()) {
Log.d(TAG, "Create directory " + fDir.getAbsolutePath() + " - " + fDir.mkdir());
}
答案 1 :(得分:0)
您是将数据库从assets文件夹复制到您的应用程序中,然后参考此链接: Database not copying from assets
答案 2 :(得分:-1)
从资产中复制数据库通常是个坏主意。应该通过SQLiteOpenHelper类创建/访问DB。您可以使用onCreate方法填充数据库内容。