现在的位置: 首页 > 综合 > 正文

Android 深入研究SQLite实例(一) 之 业务类 sqlite版本管理类

2013年09月09日 ⁄ 综合 ⁄ 共 1109字 ⁄ 字号 评论关闭

写在前面的话,本文转载自http://www.eoeandroid.com/thread-81911-1-1.html

package eoe.demo;

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

/**
*
* 数据库版本控制类
* SQLiteOpenHelper是一个数据库版本的控制超类
*
*/

public class MangerDatabase extends SQLiteOpenHelper {
private static final String name="shool";
private static final int version=2;

/**
*
* @param context 上下文信息
* @param name 数据库名称
* @param CursorFactory factory 游标工厂
* @param version 数据库版本
* 执行数据参数的初始化工作
*/

public MangerDatabase(Context context) {
//调用超类的构造方法
super(context, name, null, version);
}

/**
* 如果没有数据库中没有此表 就创建表结构 覆写超类的创建的方法
* 这个方法在超类中是一个只有方法体没有实现体的
* onCreate 创建方法 在用户执行调用获取用户数据库管理时例就已经执行
* 此方法是超类存在的 并且由 getWritableDatabase()这个方法调用的
*/

@Override
public void onCreate(SQLiteDatabase db) {

db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20), age INTEGER,xxx INTEGER)");

}

/**
* 执行更新 如果表存在 将执行更新操作
* oldVersion 老版本号
* newVersio 新版本号
* onUpgrade 创建方法 在用户执行调用获取用户数据库管理时例就已经执行
* 此方法是超类存在的 并且由 getWritableDatabase()这个方法调用的
*/

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//先删除
db.execSQL("DROP TABLE IF EXISTS person");
//调用方法执行创建
onCreate(db);
}

}

抱歉!评论已关闭.