Android SQLite数据库
SQLite是Android内置的一个很小的关系型数据库。属于文本型的数据库。Android提供了对 SQLite数据库的完全支持,应用程序中的任何类都可以通过名称来访问任何的数据库,但是应用程序之外的就不能访问。
Android中,通过SQLiteOpenHelper类来实现对SQLite数据库的操作。
SQLiteOpenHelper
SQLiteOpenHelper封装了对SQLite数据库的操作,主要连接数据库,打开数据库,数据库版本升级,降级,数据库的增,删,查,改。
SQLiteOpenHelper类的数据库操作方法:
1. onCreate() 创建数据库
如果数据库文件不存在,只有onCreate()被调用(该方法在创建数据库时被调用一次)。
在调用SQLiteOpenHelper.getWritableDatabase()时候,SQLiteOpenHelper首先获取数据库的当前版本。
当版本号为0的时候,就会执行onCreate方法(当数据库文件第一次创建的时候版本号就是0。
如果版本号不为0,同时和最新版本号进行比较,如果大于的话,就执行升级操作onUpgrade方法,否则就执行降级onDowngrade方法。
不过降级方法实现很简单:
直接抛出异常,也就是说数据库不允许降级操作的,这个也符合正常情况。
2. onUpgrade() 升级数据库
如果数据库文件存在,并且当前版本号高于上次创建或升级的版本号,SQLiteOpenHelper会调用onUpgrade()方法,调用该方法后会更新数据库的版本号。
3. close()
关闭所有打开的数据库对象
4. getWritableDatabase()
创建或打开可以读/写的数据库
5. getReadableDatabase()
创建或打开可读的数据库