Pro-Android-3 BookProvider SQLiteOpenHelper
来源:互联网 发布:如何打开445端口 编辑:程序博客网 时间:2024/06/06 10:42
http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html
抽象类SQLiteOpenHelper是数据创建和版本控制的帮助类。
继承SQLiteOpenHelper的子类需要实现
onCreate(SQLiteDatabase), onUpgrade(SQLiteDatabase, int, int)
可选实现
onOpen(SQLiteDatabase)
public abstract void onCreate (SQLiteDatabase db)
这个类在打开数据库之前会检查这个类存不存在,如果不存在将执行onCreate方法。onCreate方法在数据库第一次创建时调用。
public abstract void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion)
在需要更新的时候将会调用onUpgrade方法。实现这个方法,一般是先drop tables,然后添加tables。这个方法是和SQLiteOpenHelper的构造器相关连的,
public SQLiteOpenHelper (Context context, String name, SQLiteDatabase.CursorFactory factory, int version)
context是用来打开和创建数据库的上下文,name是数据库的名称,version是数据库的版本号。只有当getWritableDatabase() orgetReadableDatabase()被调用时,才会创建数据库或打开。如果当前传入的数据库版本号比上次创建或升级的版本号高,SQLiteOpenHelper就会调用onUpdate()方法。
举例说明:
ProAndroid3第三章TestProvider项目中的
com.ai.android.book.provider.BookProviderMetaData
修改DATABASE_VERSION,重新执行TestProvider。
//public static final int DATABASE_VERSION = 1;
public static final int DATABASE_VERSION = 2;
在LogCat,输入inner
05-20 02:26:45.973: D/BookProvider(376): inner onupgrade called
05-20 02:26:45.993: D/BookProvider(376): inner oncreate called
对应于代码
Log.d(TAG,"inner onupgrade called");
onCreate(db);
Log.d(TAG,"inner oncreate called");
在LogCat,输入upgrading
05-20 02:26:45.973: W/BookProvider(376): Upgrading database from version 1 to 2, which will destroy all old data
对应于代码
Log.w(TAG, "Upgrading database from version "
+ oldVersion + " to "
+ newVersion + ", which will destroy all old data");
- Pro-Android-3 BookProvider SQLiteOpenHelper
- Android:SQLiteOpenHelper
- android:SQLiteOpenHelper
- android sqliteopenhelper
- Android-SQLiteOpenHelper
- Android SQLiteOpenHelper
- Android SQLiteOpenHelper
- Android:SQLiteOpenHelper,SqliteDatabase学习
- Android之SQLiteOpenHelper
- Android SQLiteOpenHelper使用示例
- Android:SQLiteOpenHelper 学习笔记
- Android如何使用SQLiteOpenHelper
- [android]SQLiteOpenHelper简介
- Android类参考---SQLiteOpenHelper
- Android SQLiteOpenHelper(手机数据库)
- android SQLiteOpenHelper使用示例
- android SQLiteOpenHelper详解
- android SQLiteOpenHelper使用示例
- tftp服务
- Apache.CXF.Web.Service.Development学习笔记
- 第三章:3.8 登陆 Django 默认后台
- Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
- summernote富文本编辑器的基本使用
- Pro-Android-3 BookProvider SQLiteOpenHelper
- word2007集合运算符包含于的显示
- Java五个最常用的集合类之间的区别和联系
- 小希的迷宫
- Maven开发Android指南 1 简介
- 简单工厂和工厂方法的区别
- lrzsz.0.12.20安装与出现的/usr/bin/lrz: line 1: syntax error: "(" unexpected问题
- Maven开发Android指南 2 配置android-maven-plugin
- 01 字典树模板 求XOR最大值