插入记录后资产的SQLite文件未更新

时间:2018-08-29 13:16:23

标签: android sqlite android-sqlite

我正在尝试在数据库中插入一条记录,但并没有更新数据库。

我的插入方法:

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;
}

我在我的DatabaseHelper中使用SQLite Asset Helper,并且数据库存储在assests /数据库中

提前谢谢!

1 个答案:

答案 0 :(得分:0)

资产文件夹用于只读目的。您无法在运行时更改内容-构建/开发时间除外。

对于您来说,我建议您将资产中的数据库文件复制到SD /外部存储上应用程序的私有文件夹(或所需位置),然后使用该数据库文件执行读/写操作。

简而言之,资产的数据库仅适用于读取操作。

注意:相同的规则也适用于 Raw 资源,它们的用途略有不同。