繁体   English   中英

Android SQLite写入错误

[英]Android SQLite write error

我正在编写同时可与某些SQLite数据库一起使用的android应用。 该应用程序可与Mobile Atlas Creator创建的离线地图数据库一起使用。 我还有另一个数据库,其中包含有关这些地图的一些元数据(map_meta_db.sqlitedb)。 所有这些数据库都存储在外部SD卡中。

所有地图数据库文件都是预填充的,因此我使用SQLiteDatabase.OPEN_READONLY标志打开它们。

但是map_meta_db不是只读的,因此我使用SQLiteDatabase.OPEN_READWRITE标志将其打开。

我已授予我的应用程序读写AndroidManifest.xml中的外部sd的权限:

使用权限android:name =“ android.permission.WRITE_EXTERNAL_STORAGE”

问题是我可以打开所有数据库并读取它们的数据,但是当我想向map_meta_db插入新记录时,什么也没发生! 也不例外,请勿插入!

try {
    SQLiteDatabase map_meta_db = SQLiteDatabase.openDatabase(pathToMapMetadataDirectory + MAP_METADATA_DATABASE_NAME, null, SQLiteDatabase.OPEN_READWRITE);

    metaDb.rawQuery(insertSql, null);
} catch (Exception e) {
    Log.d(DEBUG_TAG, "While inserting new record, an error occured:" + e.getMessage());
}

任何想法?

也许您应该考虑创建类似SQLiteOpenHelper的东西并像这样创建数据库:

private SQLiteDatabase database = helper.getWritableDatabase();

其中提到的实现是helper SQLiteOpenHelper

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM