Отсутствует ошибка базы данных в SQLiteAssetHelper - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть база данных в ресурсах / базах данных, а также есть класс для чтения данных из моей базы данных, но при открытии базы данных я получаю сообщение об ошибке «Отсутствует в базах данных»

Примечание: у меня есть myDb.zip в ресурсах / базах данных

это мой класс для открытия базы данных:

public class DB_helper extends SQLiteAssetHelper {
    private static final String DATABASE_NAME = "myDb.db";
    private static final int DATABASE_VERSION = 1;

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

    }

}

и в этой строке я называю это:

 SQLiteDatabase mydb = new DB_helper(appContext).getWritableDatabase();

Я получил эту ошибку:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: ir.dpsoft.saman, PID: 10620
    com.readystatesoftware.sqliteasset.SQLiteAssetHelper$SQLiteAssetException: Missing databases/myDb.db file (or .zip, .gz archive) in assets, or target folder not writable

1 Ответ

0 голосов
/ 02 ноября 2019

SQLiteAssetHelper просто добавляет суффиксы .zip или .gz к базовому имени, не заменяя ничего в пути к файлу.

Это можно исправить либо в имени ресурса, либо в коде. Для исправления ресурса отправьте базу данных как myDb.db.zip, а не myDb.zip. Или для исправления кода передайте имя базы данных как myDb, а не myDb.db.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...