Android 继承SqLiteOpenHelper 实现内部数据库

在android 开始当中,可以通过两种方式来建立自己的sqlLite 数据库,① 在外边建好,导入到sd卡中,这种方式会使其他应用访问到自己的数据库,不建议使用,第二种方式,继承SqLiteOpenHelper 类来实现数据库的建立
onCreate 方法只会在类实例化后调用获取SqLiteDataBase 对象的时候执行一次,若要版本更新则执行onUpGrade方法

/** * Description: xxxx<br/> * Copyright (c) , 2016, Jansonxu <br/> * This program is protected by copyright laws. <br/> * Program Name:Dbhelper.java <br/> * Date: 2016年3月9日 * * @author 李阳 * @version : 1.0 */
package com.example.contentprovider.util;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class Dbhelper extends SQLiteOpenHelper {

    /** * @param context * @param name * @param factory * @param version */
    public Dbhelper(Context context) {
        super(context, "user_1.db", null, 1);
    }


    @Override
    public void onCreate(SQLiteDatabase db) {

        //① 用户表
        db.execSQL("create table t_user(_id integer primary key, uname,upass,money)");

        //② 用户订单表
        db.execSQL("create table t_order(_id integer primary key,user_id,productName,price)");

        //③ 向用户表中 插入数据 id 会自动加
        db.execSQL("insert into t_user(uname,upass,money) values('琪琪','111','20000')");
        db.execSQL("insert into t_user(uname,upass,money) values('刀刀','111','2000')");
        db.execSQL("insert into t_user(uname,upass,money) values('小猫','111','200')");


    }


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

        if(newVersion > oldVersion){
            //先判断存在不存在
            db.execSQL("drop table t_user if exists t_user ");
            db.execSQL("drop table t_user if exists t_order ");
            onCreate(db);

        }

    }

}

你可能感兴趣的:(android,sqllite)