Android下数据库创建

Posted starry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Android下数据库创建的主要内容,如果未能解决你的问题,请参考以下文章

Android:使用支持片段管理器时复制片段

Android课程---Android Studio使用小技巧:提取方法代码片段

在android中动态创建选项卡并使用传入的参数加载片段

android片段表格布局

Android:扩展和转换片段问题

Android片段不会显示