android - 无法使用 SQLiteAssetHelper 打开数据库

标签 android sqlite

这个问题在这里已经有了答案:




9年前关闭。




Possible Duplicate:
Android sqlite returned: error code = 14



我已经使用 SQLiteAssetHelper 类/库来操作 assets/databases 文件夹中的数据库,如 link 中所示。 .我完全按照所有说明做了,但我仍然无法访问数据库。
09-27 19:35:46.417: I/Database(27474): sqlite returned: error code = 14, msg = cannot open file at source line 25467
09-27 19:35:46.417: E/Database(27474): sqlite3_open_v2("/data/data/com.gatec.douaa/databases/data", &handle, 2, NULL) failed
09-27 19:35:46.428: W/SQLiteAssetHelper(27474): could not open database data - unable to open database file
09-27 19:35:46.428: W/SQLiteAssetHelper(27474): copying database from assets...
09-27 19:35:46.447: W/SQLiteAssetHelper(27474): extracting file: 'database.db'...
09-27 19:35:46.477: E/SQLiteAssetHelper(27474): Couldn't open data for writing (will try read-only):
09-27 19:35:46.477: E/SQLiteAssetHelper(27474): com.readystatesoftware.sqliteasset.SQLiteAssetException: Missing databases/data.zip file in assets or target folder not writable

代码:
public class MyDatabase extends SQLiteAssetHelper {

    private static final String DATABASE_NAME = "data";
    private static final int DATABASE_VERSION = 1;

    public MyDatabase(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);


    }

请问有什么帮助吗?不知道问题的根源。

最佳答案

为什么将 .db 文件放在 .zip 中?请尝试将其放入未归档的 Assets 中。或者,您可以尝试在 zip 存档中放入一些没有问题的 .db 文件,以了解问题出在哪里。

关于android - 无法使用 SQLiteAssetHelper 打开数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12628014/

相关文章:

android - Keytool 不询问密码(使用 Facebook lib 和 android)

mysql - 如何从数据库中按升序获取随机商店名称和价格?

ios - 从 sqlite3_prepare_v2 失败。错误是 : out of memory

android - 如何在 Android WebView 请求中查看请求 header ?

java - android 半透明对话框

java - 由于 ArrayList 到 Adapter 绑定(bind)问题,notifyDataSetChanged() 无法正确更新

android - 在 Kotlin 属性中使用 Dagger @Provides 注解

android - SQLiteDatabase的插入方法

java - 加快数据库插入速度

Perl 和 Sqlite