Android数据存储-SQLite数据库存储.docx
文本预览下载声明
Android中每一个数据库对创建它的应用程序包套件来说都是私有的,默认情况下其他应用程序无法直接访问此私有数据库。所有的数据库文件存放在手机中的/data/data/package_name/databases路径下,以下是常用的与数据库相关的函数:
返回值
函数
备注
static SQLiteDatabase
create(SQLiteDatabase.CursorFactory factory)
创建一个数据库
factory:可选的数据库游标工厂类,当查询(query)被提交时,该对象会被调用来实例化一个游标。
static SQLiteDatabase
openDatabase(String path,SQLiteDatabase.CursorFactory factory,int flags)
根据提供的模式打开一个数据库
path:打开或创建的数据库文件
factory:可选的数据库游标工厂类,当查询(query)被提交时,该对象会被调用来实例化一个游标。默认为null。
flags:控制数据库的访问模式。主要有以下几种模式:
l OPEN_READWRITE
l OPEN_READONLY
l CREATE_IF_NECESSARY
l NO_LOCALIZED_COLLATORS
static SQLiteDatabase
openOrCreateDatabase(File file, SQLiteDatabase.CursorFactory factory)
等同于openDatabase(file.getPath(), factory, CREATE_IF_NECESSARY)
static SQLiteDatabase
openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory)
等同于openDatabase(path,factory, CREATE_IF_NECESSARY)
void
close()
关闭数据库
boolean
deleteDatabase(String name)
删除指定的数据库
name:要关闭的数据库的名字
示例代码如下:
//创建数据库
SQLiteDatabase mydataBase=SQLiteDatabase.create(new CursorFactory(){
//工厂类,一个可选工厂类,当查询时调用来实例化一个游标
@Override
public Cursor newCursor(SQLiteDatabase db,
SQLiteCursorDriver masterQuery, String editTable,
SQLiteQuery query) {
// TODO Auto-generated method stub
return null;
}
});
//创建或打开数据库
SQLiteDatabase myDataBase=this.openOrCreateDatabase(myDataBase.db,
MODE_PRIVATE, new CursorFactory(){
//创建新的数据库,名称myDatabase,模式MODE_PRIVATE,可选的游标工厂类
@Override
public Cursor newCursor(SQLiteDatabase db,
SQLiteCursorDriver masterQuery, String editTable,
SQLiteQuery query) {
// TODO Auto-generated method stub
return null;
}
});
SQLiteDatabase myDataBase=this.openOrCreateDatabase(myDataBase.db,MODE_PRIVATE,null);
//关闭数据库
myDataBase.close();
//删除指定名称的数据库
this.deleteDatabase(“myDatabase.db”);
在对数据库中的表进行相关操作时,可以使用非查询的execSQL(String sql)来执行。示例代码如下:
String CREATE_TABLE = “create table table1 (_id integer primary key autoincrement,number integer,data text)”; //创建表
myDataBase.execSQL(CREATE_TABLE);
Android提供了非SQL指令的对数据表
显示全部