1、编写一个类并继承SQLiteOpenHelper,并实现抽象方法
package cn.youhw.dao;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class MyOpenHelper extends SQLiteOpenHelper {
/**
*
* @param context 应用上下文
* @param name 数据库文件名
* @param factory 游标工厂
* @param version 数据库版本号,版本号必须大于0
*/
public MyOpenHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
/**
* 数据库创建时,此方法会调用
*/
@Override
public void onCreate(SQLiteDatabase db) {
StringBuffer sql = new StringBuffer();
sql.append("create table person (");
sql.append(" _id integer primary key autoincrement,");
sql.append(" name char(10),");
sql.append(" salary char(20),");
sql.append(" phone integer");
sql.append(")");
db.execSQL(sql.toString());
System.out.println("数据库被创建了.");
}
/**
* 数据库升级时,此方法会调用(当数据库版本号升级时调用)
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("数据库升级了.");
}
}
2、编写测试类
package cn.youhw.junit.test;
import android.database.sqlite.SQLiteDatabase;
import android.test.AndroidTestCase;
import cn.youhw.dao.MyOpenHelper;
public class TestCase extends AndroidTestCase {
public void testCreateDatabase() {
// this.getContext():获取虚拟上下文
MyOpenHelper dbHelper = new MyOpenHelper(this.getContext(), "person.db", null, 1);
// 如果数据库不存在,则先创建数据库,否则直接打开
// SQLiteDatabase db = dbHelper.getWritableDatabase();
// 如存储控件已满,就返回可读数据库,默认返回可读可写数据库,
// 通用使用getReadableDatabase()获取SQLiteDatabase
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}
3、在/data/data/应用包/databases目录下生成数据库文件person.db
其中person.db-journal文件是一个支持事务操作的临时文件。