SQLiteReadOnlyDatabaseException尽管使用可写DB

时间:2016-05-31 15:14:52

标签: android sqliteopenhelper

在Android App中,我创建了方法saveItem()以将Media对象持久保存到数据库。尽管使用SQLiteDatabase.getWritableDatabase()并出现以下异常,但此操作仍会失败: SQLiteReadOnlyDatabaseException: attempt to write a readonly database (code 1032)

这是我的方法:

public void saveItem(Media media) {
    // Gets the data repository in write mode
    SQLiteDatabase db = dbHelper.getWritableDatabase();

    // Create a new map of values, where column names are the keys
    ContentValues values = new ContentValues();
    values.put(MediaContract.MediaEntry.COLUMN_NAME_ID, media.getId().toString());
    values.put(MediaContract.MediaEntry.COLUMN_NAME_TITLE, media.getTitle());
    values.put(MediaContract.MediaEntry.COLUMN_NAME_TEASER, media.getTeaser());
    values.put(MediaContract.MediaEntry.COLUMN_NAME_TYPE, media.getType());
    values.put(MediaContract.MediaEntry.COLUMN_NAME_THUMB_URL, media.getThumbnail_url());
    values.put(MediaContract.MediaEntry.COLUMN_NAME_DATA, new Gson().toJson(media.getData()));
    values.put(MediaContract.MediaEntry.COLUMN_NAME_UPDATED_AT, dbHelper.convertFromDateTime(media.getUpdated_at()));

    db.insert(MediaContract.MediaEntry.TABLE_NAME, null, values);
}

我观察到,这种例外似乎不是每次都出现。

你可以给我一个暗示吗?

0 个答案:

没有答案