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");
分享到:
相关推荐
068集-SQLiteOpenHelper(2)视频教程,个人感觉还可以,共享给大家。
067集-SQLiteOpenHelper(1)视频教程,个人感觉还可以,共享给大家。
android SQLiteOpenHelper 数据库简单应用,今天闲着没事自己写的demo
数据库的使用,包含增删改查,是使用android 内置的数据库助手类实现的
实验报告封面 课程名称: Android平台开发与应用 课程代码: SM3004 任课老师: 梁郁君 实验指导老师: 梁郁君 实验报告名称:实验10 Android数据存储与IO 学生姓名: 学号: 教学班: 递交日期: 签收人: 我申明,...
![Logo] (https://github.com/jainakhil88/android-commons/blob/master/sample/Android8/res/drawable-mdpi/ic_launcher.png) ...ExtendedSQLiteOpenHelper extension of SQLiteOpenHelper with enhance features f
NULL 博文链接:https://byandby.iteye.com/blog/836250
|--数据库SQLiteOpenHelper标准写法 |--数据库复杂多表查询 |--数据库查询之归属地 |--数据库直接CURD |--数据提交无需权限 |--文件之从服务器下载 |--文件之拷贝文件至某个目录 |--文件之指定编码读写文件 |--文件...
最近复联3上映,中国没有同步上映,真的太可惜了,五一本来还想过去香港看,但想到到时会人生人海还是算了,所以假期闲余时间就撸了个JarvisDownloader,之所以以Jarvis命名,也是因为我太喜欢Jarvis这个AI了,它...
android 手机数据库 实现SQLiteOpenHelper
今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库 SQLiteOpenHelper中需要重载函数: onCreate( ):利用SQL语句,在系统中创建数据库(表)功能 onUpgrade( ):利用SQL语句,在...
主要介绍了Android开发之Sqliteopenhelper用法,实例分析了SQLiteOpenHelper类操作数据库的相关技巧,需要的朋友可以参考下
android项目添加数据库,利用SQLiteOpenHelper创建数据库文件的Demo
对Android数据库SQlite的基本操作,打开或新建数据库,增,删,改,查。 SQLiteOpenHelper类的运用。 ListView的运用和适配器的使用。 Menu键的使用。
在android中常用存储数据的基本就三种,sqlite,SharedPreferences,文件存储,其中针对于对象存储,使用sqlite比较多,因为可以对其进行增删改查。本文主要讲解SQLiteOpenHelper的封装使用,代码引用自...
android的SQLiteOpenHelper类的应用实例.docx
本篇文章小编为大家介绍,基于Android SQLiteOpenHelper && CRUD的使用。需要的朋友可以参考一下
SQLiteOpenHelper的基本使用demo
最近学习安卓遇到了对数据库的操作,用到了SQLiteOpenHelper这个类来连接或者创建数据库,通过getWritableDatabase()或者getReadableDatabase(),来对表进行写入或读取操作。 1. 为什么需要SQLiteOpenHelper? ...