Файл SQLite из ресурсов не обновляется после вставки записи - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь вставить запись в свою базу данных, но она не обновляет мою базу данных.

Мой метод вставки:

public void insert(String name, String status, String seat, String  id, String pnr) {
    ContentValues contentValues = new ContentValues();
    contentValues.put(DatabaseHelper.COL_ID, id);
    contentValues.put(DatabaseHelper.COL_NAME, name);
    contentValues.put(DatabaseHelper.COL_PNR, pnr);
    contentValues.put(DatabaseHelper.COL_STATUS, status);
    contentValues.put(DatabaseHelper.COL_SEAT_NO, seat);

    database.insert(DatabaseHelper.TABLE_NAME, null, contentValues);
}

Код при вставке:

dbManager = new DBManager(getContext());
dbManager.open();
dbManager.insert("Name","XYZ","B1 21", "2","2348384");

открытый метод:

public DBManager open() throws SQLException {
    databaseHelper = new DatabaseHelper(context) {};
    database = databaseHelper.getWritableDatabase();
    return this;
}

Я использую SQLite Asset Helper в моем DatabaseHelper, а база данных хранится в ассессах / базах данных

Заранее спасибо!

1 Ответ

0 голосов
/ 29 августа 2018
Папка

Активы предназначена только для чтения. Вы не можете изменять содержимое во время выполнения - за исключением времени сборки / разработки.

В вашем случае я бы предложил вам скопировать файл базы данных из ресурсов в личную папку вашего приложения (или в нужное вам место) на SD / внешнем хранилище, а затем использовать этот файл базы данных для выполнения операций чтения / записи.

Короче говоря, база данных ваших ресурсов хороша только для операций чтения.

Примечание: те же правила применимы и к необработанным ресурсам, и они служат несколько иной цели.

...