日期:2014-05-16  浏览次数:20409 次

Context与SQLiteDatabase的方法openOrCreateDatabase的区别 (context、SQLiteOpenHelper)
    Context.openOrCreateDatabase 与 SQLiteDatabase.openOrCreateDatabase本质上完成的功能都一样,Context.openOrCreateDatabase最终是需要调用 SQLiteDatabase.openOrCreateDatabase来完成数据库的创建的。

也就是说, SQLiteDatabase类是android上对sqlite的最底层的封装,几乎所有的对数据库的操作最终都通过这个类来实现。

而Context里面提供的方法,是用于上下文的时候创建数据库,例如你在某个逻辑里面创建的数据库只是在特定的context里面,对于数据库的权限,交由context来管理,而这个逻辑可能是会提供给不止一个context


可以在程序上下文中用openOrCreateDatabase方法来创建和打开一个数据库,方法如下:

private static final String DATABASE_NAME = "betty_db”;

private static final String DATABASE_TABLE = “betty_table”;

private static final String DATABASE_CREATE =

“create table “ + DATABASE_TABLE +

“ ( _id integer primary key autoincrement,” +

“column_one text not null);”;

SQLiteDatabase myDatabase;

private void createDatabase() {

myDatabase = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);

myDatabase.execSQL(DATABASE_CREATE);

}


转--------------------------------------------

 梳理SQLiteDatabase、openOrCreateDatabase、SQLiteOpenHelper

 

                    据我所知,android创建数据库可以通过以下方法:

                                                  

一、 SQLiteDatabase.openOr