android 一说到数据库,就要想到sqlite,想到sqlite就要想到SQLiteDatabaseSQLiteOpenHelper


在Android系统,为我们提供了一个名为SQLiteOpenHelper的类,该类用于对数据库版本进行管理,该类是一个抽象类,有两个重要方法

分别是 onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

publicSQLiteOpenHelper(Contextcontext,Stringname,SQLiteDatabase.CursorFactoryfactory, int version)

super(context, DB_NAME,null, DB_VERSION);
关于数据库的版本,开始设置为1.
当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteDatabase实例的时候,如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCreate()方法,onCreate()方法在初次生成数据库时才会被调用,在onCreate()方法里可以生成数据库表结构及添加一些应用使用到的初始化数据。 onUpgrade()方法在数据库的版本发生变化时会被调用,数据库的版本是由程序员控制的,假设数据库现在的版本是1,由于业务的需要,修改了数据库表的结构,这时候就需要升级软件,升级软件时希望更新用户手机里的数据库表结构,为了实现这一目的,可以把原来的数据库版本设置为2(或其他数值),并且在onUpgrade()方法里面实现表结构的更新。当软件的版本升级次数比较多,这时在onUpgrade()方法里面可以根据原版号和目标版本号进行判断,然后作出相应的表结构及数据更新。


getWritableDatabase()和getReadableDatabase()方法都可以获取一个用于操作数据库的 SQLiteDatabase实例。但getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若使用的是getWritableDatabase() 方法就会出错。getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库

,对于熟悉SQL语法的程序员而言,直接使用execSQL()和rawQuery()方法执行 SQL语句就能完成数据的添加、删除、更新、查询操作。

更多相关文章

  1. Dev Guide/Framework Topics/Search-版本为Android 4.0 r1
  2. Android settings.db数据库中添加一条新的默认配置项
  3. 【Android】1.6版本所有权限
  4. Android 9 安装更新 apk,适用于android 9及以下安卓版本。
  5. Android建立对话框基本的几种方法
  6. 2种自定义android标题栏titleBar的方法

随机推荐

  1. Android(安卓)xml资源文件animal动画解析
  2. android:persistentDrawingCache用法说明
  3. Android(安卓)电源管理
  4. android Html Package机制说明
  5. Android(安卓)自定义ViewPager 实现轮播
  6. Android(安卓)获取网络图片
  7. android 5.0 新特性
  8. Android(安卓)文件操作
  9. Android在Button按钮上同时显示文字和图
  10. android 自定义checkbox