我想知道这两个代码之间有什么区别:
this.getReadbleDatabase().delete(...);
this.getWritableDatabase().delete();
提到我知道删除sqlite中的条目应该由getWritableDatabase().delete();
请解释其中的差异。
答案 0 :(得分:1)
The docs非常清楚地解释了这个区别:
创建和/或打开数据库。这将是返回的同一对象 by getWritableDatabase()除非出现一些问题,比如一个完整的磁盘, 要求数据库以只读方式打开。在那种情况下,a 将返回只读数据库对象。如果问题得到解决,a 将来调用getWritableDatabase()可能会成功,在这种情况下 将关闭只读数据库对象和读/写对象 将来会被退回。
答案 1 :(得分:0)
getReadableDatabase()
将返回只读数据库 。在所有其他情况下,它将返回与getWritableDatabase()
完全相同的数据库,您可以在该数据库上执行所有CRUD操作。