在Android中,通过getReadableDatabase与getWritableDatabase()都可以获得一个可以对数据库进行操作的实例。然后都可以对数据库进行增、删、查、改。,但是两者也存在区别

    1.getReadableDatabase是先以读写的方式打开数据库,但当数据库的磁盘满了时,就会打开失败,失败之后,程序会尝试以只读的形式打开数据库,如果能完成所需的任务,则只读的数据库就会关闭,返回一个读写的数据库对象。

    2.getWritableDatabase同样也是以读写的方式打开数据库但当数据库的磁盘满了时,就会打开失败,然后因为使用的是getWritableDatabase,所以打开只读的数据库也失败,那么程序就会出错

    3.getReadableDatabase方法中有调用getWritableDatabase方法

源码为:

wKiom1esdAuh1tMMAAEDxkzJogY504.png-wh_50

wKioL1esdA3Sq_PNAAESOG8jztI277.png-wh_50

wKioL1esdA7A5UsJAADNuBb8lyw801.png-wh_50