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

Android 插入记录后未更新资产中的SQLite文件,android,sqlite,android-sqlite,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(

我试图在我的数据库中插入一条记录,但它没有更新我的数据库

我的插入方法:

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,数据库存储在Assets/databases中

提前谢谢你

资产文件夹用于只读目的。您不能在运行时更改内容-生成/开发时除外

在您的情况下,我建议您将数据库文件从资产复制到SD/外部存储器上应用程序的专用文件夹(或所需位置),然后使用该数据库文件执行读/写操作

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


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

如何使用SQLiteAssetThelper实现这一点?请分享一个例子。感谢类似于
super(context,数据库名称,context.getExternalFilesDir(null.getAbsolutePath(),null,数据库版本)在构造函数中-它将数据库文件复制到外部存储器读取repo的文档。你会在这里找到更多的细节