android 提供了一个数据库操作的帮助类 SQLiteOpenHelper,我定义一个类继承SQLiteOpenHelper即可完成数据的创建和更新操作。
一、创建类基础 SQLiteOpenHelper
1 public class SqliteHelper extends SQLiteOpenHelper { 2 3 public SqliteHelper(Context context) { 4 // 数据库名称:sqltest.db 5 // 版本号:1 (初始化的时候设置成1,当这个版本号升级之后会触发onUpgrade函数) 6 super(context, "sqltest.db", null, 1); 7 } 8 9 //数据库第一次创建的时候调用,适合创建表结构 10 @Override 11 public void onCreate(SQLiteDatabase db) { 12 db.execSQL("sql语句"); 13 } 14 //数据库版本变更之后会执行,适合更改表的结构 15 @Override 16 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 17 18 } 19 }
二、获取SQLiteDatabase对象操作数据库
getReadableDatabase 和 getWritableDatabase 区别
1.都可以对数据库进行读写
2.当磁盘满了之后, getWritableDatabase会发送异常;getReadableDatabase不会发送异常,直接返回一个可读的SQLiteDatabase对象。
1 SqliteHelper sqliteHelper=new SqliteHelper(context); 2 //打开或者创建数据库,如果是第一次就是创建 3 SQLiteDatabase readableDatabase=sqliteHelper.getReadableDatabase(); 4 //打开或者创建数据库,如果是第一次就是创建 5 SQLiteDatabase writableDatabase=sqliteHelper.getWritableDatabase(); 6 7 //getReadableDatabase 和 getWritableDatabase 区别 8 //都可以对数据库进行读写 9 //当磁盘满了之后getWritableDatabase会发送异常,getReadableDatabase不会发送异常,直接返回一个可读的SQLiteDatabase对象。