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 }
View Code

 

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

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

 

posted @ 2017-08-15 19:29  starry_sky  阅读(545)  评论(0编辑  收藏  举报