SQLite

几个相关的类:

嘿嘿,学习一些新东西的时候,最不喜欢的莫过于遇到一些新名词,是吧,我们先来说下几个 我们在使用数据库时用到的三个类:

  • SQLiteOpenHelper:抽象类,我们通过继承该类,然后重写数据库创建以及更新的方法, 我们还可以通过该类的对象获得数据库实例,或者关闭数据库!
  • SQLiteDatabase:数据库访问类:我们可以通过该类的对象来对数据库做一些增删改查的操作
  • Cursor:游标,有点类似于JDBC里的resultset,结果集!可以简单理解为指向数据库中某 一个记录的指针!

方法解析

  • onCreate(database):首次使用软件时生成数据库表
  • onUpgrade(database,oldVersion,newVersion):在数据库的版本发生变化时会被调用, 一般在软件升级时才需改变版本号,而数据库的版本是由程序员控制的,假设数据库现在的 版本是1,由于业务的变更,修改了数据库表结构,这时候就需要升级软件,升级软件时希望 更新用户手机里的数据库表结构,为了实现这一目的,可以把原来的数据库版本设置为2 或者其他与旧版本号不同的数字即可!

流程小结

  • Step 1:自定义一个类继承SQLiteOpenHelper类
  • Step 2:在该类的构造方法的super中设置好要创建的数据库名,版本号
  • Step 3:重写onCreate( )方法创建表结构
  • Step 4:重写onUpgrade( )方法定义版本号发生改变后执行的操作
 1 class MySQlitehelper extends SQLiteOpenHelper {
 2     public MySQlitehelper(Context context) {
 3         super(context, "Mydata.db", null, 1);
 4     }
 5 
 6     @Override
 7     public void onCreate(SQLiteDatabase db) {
 8         db.execSQL("create table Person(_id integer primary key autoincrement, name text,age integer)");
 9 
10     }
11 
12     @Override
13     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
14         db.execSQL("alter table Person add phone varchar(20)");
15 
16     }
17 }
View Code
原文地址:https://www.cnblogs.com/WebGiant/p/5929130.html