MySQLite笔记

一.创建数据库

 ①:SQLiteOpenHelper类

步骤:先构建出实例,再调用getRead或者getWrit创建数据库。

         构造方法接收4个参数,1.Context 2.数据库名 3.null(自定义Cursor) 4.数据库版本号

         onCreate(),onUpgrade()两个抽象方法和getReadableDatabase()和getWritableDatabase()实例方法。

             <onCreate(),onUpgrade()两个抽象方法需要在自己的帮助类去重写,分别实现创建,升级数据库的逻辑。

             <getReadableDatabase()和getWritableDatabase()分别是创建或打开一个数据库。

       代码如下所示:

 1.自定义一个MyDatabaseHelper类去继承SQLiteOpenHelper。

 

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

public class MyDatabaseHelper extends SQLiteOpenHelper{
    public static final String CREATE_BOOK = "create table Book("
            + "id integer primary key autoincrement, "
            + "author text,"
            + "price real,"
            + "pages integer,"
            + "name text)";
    private Context mcontext;


    public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
        mcontext= context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_BOOK);
        Toast.makeText(mcontext, "Create successed",Toast.LENGTH_LONG).show();
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

 

2.布局上我们设置一个按钮就行,并且在主函数上实现创建数据库功能

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private MyDatabaseHelper dbHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dbHelper = new MyDatabaseHelper(this,"BookStore.db",null,1);
        Button createDatabase = findViewById(R.id.create_database);
        createDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dbHelper.getWritableDatabase();
            }
        });
    }
}

创建一个数据库就如上所示啦,接来下我们要实现升级数据库。

二.升级数据库

在此次升级中我们要加入一个Category表。

1.首先把加入下列程序:

public static  final String CREATE_CATEGORY ="create table Category("
        + "id integer primary key autoincrement,"
        + "category_name text,"
        + "category_code integer)";

2.在Oncreate()中加入

db.execSQL(CREATE_CATEGORY);

3.在onUpgrade()中加入

public void onUpgrade(SQLiteDatabase db, int i, int i1) {
    db.execSQL("drop table if exists Book");
    db.execSQL("drop table if exists Category");
    onCreate(db);
}

4.最后在MainActivty中更新版本号

dbHelper = new MyDatabaseHelper(this,"BookStore.db",null,2);

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值