发现一个问题如果不调用getWritableDatabase方法,在/data/data/xxx/databases/目录是不会创建文件。。。
大家使用的也是这样吗?
是的,如果你不调用getWritableDatabase或者getReadableDatabase方法,那么数据库文件就不会被创建。这两个方法都是在SQLiteOpenHelper类中定义的,它们会在第一次调用时打开数据库连接并创建数据库文件,如果数据库文件已经存在,它们会直接打开连接。
当你调用getWritableDatabase方法时,如果数据库文件不存在,它会调用onCreate方法来创建数据库表。如果数据库文件已经存在,它会检查是否需要调用onUpgrade方法来更新数据库。
getReadableDatabase方法的工作原理与getWritableDatabase类似,但它会尽量使用只读连接打开数据库,因此它可能比getWritableDatabase更省资源。然而,如果数据库文件不存在或无法打开只读连接,它就会调用getWritableDatabase方法来创建或打开一个可写连接。