Android下数据库创建

在Android下用的数据库是:sqlite,嵌入式 轻量级的

 

创建sqlite数据库一般是去继承SQLiteOpenHelper类。

官方文档是这样的:

技术分享

由于是一个抽象类就必须用一个类去继承它,里面有两个抽象方法onCreate和onUpgrade必须去实现。

onCreate方法:是数据库第一次创建的时候会调用(但创建了的话就不会调用),特别适合做表结构初始化,需要sql语句

onUpgrade方法:数据库版本号发生改变时才会执行,特别适合做表结构的修改,在Android4.0之后版本只能增不能减,不然会出现异常

下面创建一个MySqliteOpenHelper类去继承SQLiteOpenHelper类。

技术分享
技术分享

 1 public class MySqliteOpenHelper extends SQLiteOpenHelper { 2  3 public MySqliteOpenHelper(Context context) { 4 //context:上下文 name:数据库文件的名称 factory:用来创建cursor对象,默认null 5 //version:数据库的版本号,从1开始,如果发生改变,onUpgrade方法会调用 6 super(context, "Starry.db", null, 2); 7  } 8  @Override 9 public void onCreate(SQLiteDatabase db) {10 11 db.execSQL("create table info (_id integer primary key autoincrement, name varchar(20))");12  }13  @Override14 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {15 db.execSQL("alter table info add phone varchar(11)");16  }17 18 }

View Code

 

在MainActivity.java实例化一个MySqliteOpenHelper,运行getReadableDatabase方法就可以初始化数据库了。

技术分享
技术分享

1 MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(mContext);2 mySqliteOpenHelper.getReadableDatabase();

View Code

 

相关文章