从表SQLite中删除条目

时间:2014-09-07 23:12:53

标签: android database sqlite android-sqlite

我想知道这两个代码之间有什么区别:

this.getReadbleDatabase().delete(...);
this.getWritableDatabase().delete(); 

提到我知道删除sqlite中的条目应该由getWritableDatabase().delete();

完成

请解释其中的差异。

2 个答案:

答案 0 :(得分:1)

The docs非常清楚地解释了这个区别:

  

创建和/或打开数据库。这将是返回的同一对象   by getWritableDatabase()除非出现一些问题,比如一个完整的磁盘,   要求数据库以只读方式打开。在那种情况下,a   将返回只读数据库对象。如果问题得到解决,a   将来调用getWritableDatabase()可能会成功,在这种情况下   将关闭只读数据库对象和读/写对象   将来会被退回。

答案 1 :(得分:0)

如果低内存等条件强制它返回只读数据库,

getReadableDatabase()将返回只读数据库 。在所有其他情况下,它将返回与getWritableDatabase()完全相同的数据库,您可以在该数据库上执行所有CRUD操作。