getReadableDatebase() 和getwriteableDatebase()的解读

1. 两个方法干嘛的?

两个方法都是用于获取数据库的读写对象,并不是字面上一个获取读取数据库的对象,另一个获取写

数据库的对象。

2. getWritableDatabase()

  • 它会调用并返回一个可以读写数据库的对象
  • 在第一次调用时会调用onCreate的方法
  • 当数据库存在时会调用onOpen方法
  • 结束时调用onClose方法

3. getReadableDatabase()

 

  • 它会调用并返回一个可以读写数据库的对象
  • 在第一次调用时会调用onCreate的方法
  • 当数据库存在时会调用onOpen方法
  • 结束时调用onClose方法

4. 区别
是不是上面两个总结一样?
然后事实呢?

两个方法都是返回读写数据库的对象,但是当磁盘已经满了时,getWritableDatabase会抛异常,而getReadableDatabase不会报错,它此时不会返回读写数据库的对象,而是仅仅返回一个读数据库的对象。
getReadableDatabase会在问题修复后继续返回一个读写的数据库对象。
两者都是数据库操作,可能存在延迟等待,所以尽量不要在主线程中调用。
原文:https://blog.csdn.net/u011414643/article/details/78805429 

你可能感兴趣的:(android,android)