getWritableDatabase() 和getReadableDatabase()的区别
getWritableDatabase()和getReadableDatabase()方法都可以获取一个用于操作数据库的
SQLiteDatabase实例。
1、getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若此时使用getWritableDatabase()打开数据库就会出错。
2、getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。因此,getReadableDatabase()并不是以只读方式打开数据库,而是先执行getWritableDatabase(),失败的情况下才尝试以只读方式打开数据库。
1、getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若此时使用getWritableDatabase()打开数据库就会出错。
2、getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。因此,getReadableDatabase()并不是以只读方式打开数据库,而是先执行getWritableDatabase(),失败的情况下才尝试以只读方式打开数据库。