Android-getWritableDatabase()与getReadableDatabase()
2015-09-06 10:40
218 查看
getWritableDatabase()与getReadableDatabase()源码是一样的,唯一的区别是:在磁盘满的时候,此时数据库只允许进行读操作。getWritableDatabase()与getReadableDatabase()源码分别是
public SQLiteDatabase getWritableDatabase() {
synchronized (this) {
return getDatabaseLocked(true);
}
}
public SQLiteDatabase getReadableDatabase() {
synchronized (this) {
return getDatabaseLocked(false);
}
}
但是getReadableDatabase()先以读写方式打开,若失败,则只读
在getDatabaseLocked(boolean writable)会分别调用
public void onConfigure(SQLiteDatabase db) {}
public abstract void onCreate(SQLiteDatabase db);//创建
public abstract void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion);或 public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
throw new SQLiteException("Can't downgrade database from version " +
oldVersion + " to " + newVersion);//升级或降级
}
public void onOpen(SQLiteDatabase db) {}//在数据库被打开后调用
public SQLiteDatabase getWritableDatabase() {
synchronized (this) {
return getDatabaseLocked(true);
}
}
public SQLiteDatabase getReadableDatabase() {
synchronized (this) {
return getDatabaseLocked(false);
}
}
但是getReadableDatabase()先以读写方式打开,若失败,则只读
在getDatabaseLocked(boolean writable)会分别调用
public void onConfigure(SQLiteDatabase db) {}
public abstract void onCreate(SQLiteDatabase db);//创建
public abstract void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion);或 public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
throw new SQLiteException("Can't downgrade database from version " +
oldVersion + " to " + newVersion);//升级或降级
}
public void onOpen(SQLiteDatabase db) {}//在数据库被打开后调用
相关文章推荐
- Android实例-程序界面内截取屏幕(XE8+小米2)
- Android的activity学习笔记
- Android studio删除项目
- Android实用代码七段(五)
- Android Studio快捷键-mac版
- xutils保存cookie
- Android Studio上的几个插件介绍
- Android SDK开发包国内下载地址
- Android两次后退键退出
- 史上最详细的Android Studio系列教程五--Gradle命令详解与导入第三方包
- 史上最详细的Android Studio系列教程四--Gradle基础
- 下载Android 源码
- 史上最详细的Android Studio系列教程三--快捷键
- android-----三种方式(sax、pull、dom)解析xml文件
- 史上最详细的Android Studio系列教程二--基本设置与运行
- android MVP框架
- android MVP框架
- android MVP框架
- android下m、mm、mmm编译命令的使用
- android 用shape oval属性画圆环变成黑圆形解决办法