Android 笔记 —— 数据库存储

2017-05-02  本文已影响65人  GinkWang

创建数据库

使用 SQliteOpenHelper 帮助类可以很方便地对数据库进行管理,使用它,数据库的创建和升级就变得十分简单。

SQliteOpenHelper 是一个抽象类,要使用它的话,必须建立一个自己的帮助类去继承它。

public class DatabaseHelper extends SQLiteOpenHelper {
    private static final String TAG = "DatabaseHelper";

    public static final String DATABASE_NAME = "FirstAidShenyang_DB"; //数据库名称"
    public static final int DATABASE_VERSION = 1001;

    //必须有构造函数
    public DatabaseHelper(Context pContext) {
        super(pContext, DATABASE_NAME, null, DATABASE_VERSION);
    }

    //数据库第一次创建时执行,实际上是第一次得到SQLiteDatabase对象的时候才会调用这个方法
    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.i(TAG, "onCreate: 创建数据库");
    }

    //更新数据库时执行此方法
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.i(TAG, "onUpgrade: 更新数据库");
    }
}

SQliteOpenHelper 构造函数共接收四个参数,上下文(Context)、函数名、自定义 Cuesor (一般传入 null)、数据库版本。

构建完数据库实例之后,即可调用 getReadableDatabase 或 getWritAbleDatabase 即可创建数据库,数据库文件默认存放在 /data/data/<package name>/database/ 目录下。

升级数据库

数据库升级要用到 onUpgrade 方法。

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    //删除原有表单
    db.execSQL("drop table if exists ***");
    db.execSQL("drop table if exists ***");
    //重新执行 onCreate() 方法
    onCreate(db);
}

先删除原有表,因为新建表时如果发现已存在该表,就会直接报错。然后再执行 onCreate() 方法。想要 onUpgrade() 放大得到执行,只需要把数据库版本比较之前增大一个数值即可。

以上步骤,即完成了数据库的创建和升级操作。增删改查这里就略过不表。


上一篇下一篇

猜你喜欢

热点阅读