/** * SQLiteOpenHelper是一个辅助类,用来管理数据库的创建和版本他,它提供两个方面的功能 * 第一,getReadableDatabase()、getWritableDatabase * ()可以获得SQLiteDatabase对象,通过该对象可以对数据库进行操作 * 第二,提供了onCreate()、onUpgrade()两个回调函数,允许我们再创建和升级数据库时,进行自己的操作 *  * 这个类只用于创建,升级数据库和表,具体数据在包action里操作 */public class DatabaseHelper extends SQLiteOpenHelper {public static final String DB_DBNAME = "contact";public static final String DB_TABLENAME = "user";public static final int VERSION = 4;/** * 在SQLiteOpenHelper的子类当中,必须有该构造函数 *  * @param context *            上下文对象 * @param name *            数据库名称 * @param factory * @param version *            当前数据库的版本,值必须是整数并且是递增的状态 ,并且必须大于等于1,当我们在创建的时候改变version如果本表已经存在,那么这个不会执行onCreate只会执行onUpgrade */public DatabaseHelper(Context context, String name, CursorFactory factory,int version) {// 必须通过super调用父类当中的构造函数,从而创建数据库;但是这里并不创建数据库,当调用getReadableDatabase()、getWritableDatabase()宾才会创建数据库。super(context, name, factory, version);}public DatabaseHelper(Context context, String name) {super(context, name, null, 4);}/** * 该函数是在第一次创建的时候执行,实际上是第一次得到SQLiteDatabase对象的时候才会调用这个方法,可以在这里创建数据表; */@Overridepublic void onCreate(SQLiteDatabase db) {System.out.println("create a table");StringBuffer sql = new StringBuffer("");sql.append("create table ").append(DB_TABLENAME).append(" (").append("_id integer primary key autoincrement,").append("name text,").append("mobilephone text,").append("officephone text,").append("familyphone text,").append("address text,").append("othercontact text,").append("email text,").append("position text,").append("company text,").append("zipcode text,").append("remark text,").append("imageid int,").append("privacy int ").append(")");System.out.println(sql.toString());db.execSQL(sql.toString());}/** * 升级数据库,当只有更新版本的时候,就会执行,但不会执行onCreate方法  */@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {String sql = "drop table if exists " + DB_TABLENAME;db.execSQL(sql);onCreate(db);}}



实例源码下载:Android之Sqlite数据库操作实例

更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. Android----单元测试 (1)
  3. JobService的使用介绍
  4. Android(安卓)Jetpack - 使用 WorkManager 管理后台任务
  5. Android的线程和线程池(一)
  6. android 之 Androidpn 消息推送总结
  7. Android学习手记(2) Activity生命周期
  8. android 如何连真机测试
  9. Android(安卓)greenDAO 数据库 简单学习之基本使用

随机推荐

  1. Android五大存储之SharedPreference
  2. Android与js的交互方式
  3. Android中EventBus3.0的使用
  4. android 在 ubuntu 环境下真机调试
  5. Android新组件应用
  6. android 文本框部分文字的点击事件
  7. Android TextView 不刷新解决办法
  8. 在Visual Studio 2013/2015上使用C#开发A
  9. android实战项目二实现画板效果
  10. 在Eclipse IDE下实现下滑隐藏ToolBar