Android设备中配备了SQLite数据库。通过SQLiteOpenHelper来访问SQLite数据库。而执行SQL语句的操作是位于android.database.sqlite包中的SQLiteDatabase类,通过SQLiteOpenHelper中的getWritableDatabase或getReadableDatabase方法,可以获取到不同权限的SQLiteDatabase。

SQLiteOpenHelper主要用于操作数据库和升级升级数据库。其中,onCreate和onUpgrade是该类的两个主要方法,负责数据库的创建和升级。这两个方法的调用规则如下:

1.如果数据库文件不存在,SQLiteOpenHelper在自动创建数据库后仅仅执行onCreate方法,该方法中,一般需要创建数据库中的表、视图等组件。因执行onCreate之前,数据库不存在,故不必执行删除(已存在组件)操作。

2.如果数据库存在,且当前版本号高于上次创建或升级时的版本号,那么SQLiteOpenHelper会调用onUpgrade方法,该方法会更新数据库版本号。在该方法中,首先应该删除已创建的表、视图等组件,然后创建新的数据库表、视图等组件。故在执行onUpgrade之前,数据库表是存在的,而且已经存在相应的数据库组件。

创建自定义SQLiteOpenHelper类核心代码段如下所示。

  public class MsgRecordDBHelper extends SQLiteOpenHelper {       public MsgRecordDBHelper(Context context, String name,  CursorFactory factory, int version) {    super(context, name, factory, version);  }      @Override    public void onCreate(SQLiteDatabase sdb) {          String sqlCreate; //创建数据库表的SQL语句          sdb.execSQL(sqlCreate);    }      @Override    public void onUpgrade(SQLiteDatabase sdb, int oldVersion,           int newVersion) {     //执行更新数据库版本号、数据库表的操作。    }  }

随后,在数据库接口(DAO)层中,通过SQLiteOpenHelper类的子类来获取SQLiteDatabase,这样,就可以执行SQL语句,实现了对SQLite数据库的CRUD基本操作。

  MsgRecordDBHelper dbHelper= new MsgRecordDBHelper(_context);  SQLiteDatabase db = dbHelper.getWritableDatabase();


SQLiteDatabase类提供了一系列对数据库的基本操作的API,详细内容见android.database.sqlite.SQLiteDatabase。


更多相关文章

  1. 在layout中直接指定onclick方法
  2. Android自动解除系统锁屏
  3. Android(安卓)7.1.2(Android(安卓)N) SystemUI--Recents Task 加
  4. Android—关于通知NotificationManager操作
  5. Android(安卓)JNI入门实例(Windows+Cygwin+Eclipse)
  6. Android(安卓)Context getSystemService分析
  7. 提供共享数据库
  8. SettingActivity学习笔记
  9. Android(安卓)获取控件高度宽度三种方法

随机推荐

  1. Android官方开发文档Training系列课程中
  2. Android中Canvas绘图方法的实现
  3. android widget组件之Button
  4. Android 蓝牙设备的查找与连接
  5. Android中SQLite数据库操作(2)——使用SQLi
  6. android fitSystemWindow属性
  7. Android studio 学习1:实现点击事件的4种
  8. android中禁止横竖屏切换
  9. Android(安卓)2.2 API Demos -- setWallp
  10. Android中五大Manager详解及使用技巧