[英]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.