Android 数据库管理— — —升级数据库

Posted android开发进阶者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 数据库管理— — —升级数据库相关的知识,希望对你有一定的参考价值。

package com.example.databasetest;

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

/**
* Created by Administrator on 2016/3/4.
*/
public class DatabaseHelper extends SQLiteOpenHelper{

public static final String CREATE_BOOK = "create table Book(id integer primary key autoincrement, author text,price real,pages integer,name text)";
public static final String CREATE_CATEGORY="create table Category(id integer primary key autoincrement,category_name text,category_code integer)";
private Context mContext;

public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
mContext = context;
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_BOOK);
db.execSQL(CREATE_CATEGORY);
Toast.makeText(mContext,"创建成功",Toast.LENGTH_SHORT).show();
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists Book");
db.execSQL("drop table if exists Category");
onCreate(db);
}


}



package com.example.datebasetest;

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

public class MainActivity extends AppCompatActivity {

private Button btn;
private DatabaseHelper dbHelper;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btn = (Button)findViewById(R.id.create_database);
dbHelper = new DatabaseHelper(this,"BookStore",null,2);

btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dbHelper.getWritableDatabase();
}
});
}
}

以上是关于Android 数据库管理— — —升级数据库的主要内容,如果未能解决你的问题,请参考以下文章

Android数据库升级降级创建(onCreate() onUpgrade() onDowngrade())

Android版本更新时对SQLite数据库升级或者降级遇到的问题

Android数据库无缝升级方案

Android 数据库升级

Android -- 面试 -- 数据库升级策略

Android入门SQLite事务升级数据库