Android 环境下Sqlite数据库的创建

对于android环境下的sqlite方式创建方式,android提供的继承SqliteOpenHelper创建

一, 通过继承SqliteOpenHelper实现数据库的创建.代码如下:

public class DBHelper extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 10000;
    private static final String DATABASE_NAME = "demo.db";
    private static final String CREATE_PERSON_TABLE = "CREATE TABLE person(name TEXT, age TEXT)";

    public DBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_PERSON_TABLE);
        initPerson(db);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    @Override
    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // super.onDowngrade(db, oldVersion, newVersion);
    }

    private void initPerson(SQLiteDatabase db) {
        String insertSql = "insert into person values(?,?)";
        for (int i = 0; i < 10; i++) {
            db.execSQL(insertSql, new Object[] { "Tom" + i, i });
        }
    }
}

1,创建步骤:
(1),首先继承SqliteOpenHelper
(2),添加构造函数和复写onCreate(),onUpGrade(),onDownGrade()方法
(3),在创建的时候一定要指定数据库的名称和版本号. 数据库的名称的是指定数据的标识, 版本号为了以后app迭代升级的时候数据库对应的升级或者降级操作. 这种方式下创建的数据库位置都是默认: /data/data/应用包名/database/数据库文件

2,重要的方法的含义
(1)public void onCreate(SQLiteDatabase db)
当第一次初始化SqliteOpenHelper的子类的时候,或者数据库被删除了的时候会调用.在这里我们可以做一些初始化表结构和表数据的操作
(2)public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
当我们迭代升级的app的数据库版本号增加的时,且我们app程序调用了getReadableDataBase()或者getWriteableDatabase(),在这些方法的内部会判断当前版本号和数据库原来的版本号.如果不同,在判断版本号的大小,如果旧版本号大于新版本号,就调用onUpgrade(),否则,将调用onDownGrade()
(3)public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion)
如上所说当降级的时候该方法会调用. 默认的处理方式是抛出了一个RuntimeException. throw new SQLiteException(“Can’t downgrade database from version ” +
oldVersion + ” to ” + newVersion); 所以,当我们有降级处理的逻辑时,需要把该方法复写且去掉语句super.onDowngrade(db, oldVersion, newVersion);
经过以上步骤一个android的sqlite数据库已创建成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值