创建一个类继承SQLiteOpenHelper
public class DemoDbHelper extends SQLiteOpenHelper{DemoDbHelper(Context context){
super(context,"user.db",null,1)//上下文,数据库名,默认cursor,版本号
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE IF NOT EXISTS info( id TEXT PRIMARY KEY,name TEXT NOT NULL)")//创建表
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
//后续版本升级用,可以不写
}
你还可以写个DemoDbManager方便使用
public class DemoDbManager{private DemoDbHelper helper
private SQLiteDatabase db
public DemoDbManager(Context context){
helper = new DemoDBHelper(context)
db = helper.getWritableDatabase()
}
//之后你可封装增删改查的方法
//都可以用db.execSQL("SQL语句")
}
在sd卡上创建数据库通过android的sqliteopenhelper类的源码,可以看到sqliteopenhelper类的getwritabledatabase
这个接口实际上调用的是context的openorcreatedatabase方法,而这个方法是不支持带路径的数据库名
称的,也就是说,用这个方法创建的数据库只能放在/data/data/包名称/
目录下;要想在sd卡上创建数据库
,我们可以调用sqlitedatabase类的openorcreatedatabase方法,这个方法是支持带路径的数据库名称的。
android 中SQliteDatabase数据库使用SQLiteOpenHelper辅助类来创建SQLite数据库视图,如下代码:1
create view 表名 as 定义
SQLiteOpenHelper类是一个辅助类,用于创建或打开数据库。
该类的使用方法一般是自定义一个子类,继承自SQLiteOpenHelper,并覆写其中最关键的两个方法:onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)。当新建一个数据库时会调用前者,一般在里面做一些创建表或视图的 *** 作。数据库版本升级时则会调用后者。
定义好子类后(假如叫SqlHelper),只要调用SqlHelper对象的getReadableDatabase()方法或getWritableDatabase()方法即可返回一个SQLiteDatabase对象。如果是第一次调用,则会创建数据库。随后可使用SQLiteDatabase对象的方法进行数据 *** 作,如:execSQL(), insert(), update(), query(), rawQuery(), delete()等。
PS:通过该方法创建的数据库存放的目录是固定的,其路径为/data/data/packageName/databases/。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)