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 @Override 14 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 15 db.execSQL("alter table info add phone varchar(11)"); 16 } 17 18 }
在MainActivity.java实例化一个MySqliteOpenHelper,运行getReadableDatabase方法就可以初始化数据库了。
1 MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(mContext); 2 mySqliteOpenHelper.getReadableDatabase();