使用SQLiteOpenHelper的onUpgrade实现数据库版本升级
2014-11-11 13:45
609 查看
我这里说的数
From http://www.cnblogs.com/vir56k/archive/2013/04/18/3028688.html
据库版本指的是:我们的应用的程序的数据库的用户版本(user_version).比如说下面的情形:
2013年4月,我们第一次 发布了 我们的应用,数据库版本是1。2013年5月,我们第二次 发布了 我们的应用,数据库版本是2。由于业务需要,我们更改了数据库里的某个表的表结构。
这时候就有这样的难题出现:
有些用户已经下载了4月份的版本1,并且已经使用了,很多数据存储在数据库了,这个时候,他想安装新的版本2,怎么办? 怎么才能让数据不丢失?
有的用户直接装了5月份的版本,那这些用户就直接使用了新的表结构格式。
可能以后还有版本3,4,N,怎么保证“数据不丢失的情况下“让用户手机里的数据库跟着升级?
------
我们记得SQLiteOpenHelper的onUpgrade方法,那么它是如何工作呢?我们该如何使用他?下面先说说使用它的方式。
解决方案:
我们在4月份数据库建立时,使用下面的方式
我们注意看下数据库的版本
..............................
于是到了五月份,由于业务需要,我们想添加新的字段到这个表里。我们这样写代码:
通过上面的方式,我们就完成了一次的数据库升级的操作。android会判断 数据库的版本号,并自动的调用onUpgrade方法。
看看数据库的版本
------------------
下面是一些扩展内容?
我们通过SQLite Expert看到的这个user_version是什么东西?经过在网络上反复查到资料,这个其实是sqlite数据库的"PRAGMA ".
看看描述:
PRAGMA main.user_version
或者来设置它的值
PRAGMA main.user_version = 1
更多内容参考sqlite的官方描述。
参考:http://www.sqlite.org/pragma.html
http://dev.10086.cn/cmdn/bbs/thread-25063-1-1.html
http://blog.sina.com.cn/s/blog_6ffbcfdb0100vjhs.html
http://stackoverflow.com/questions/12778551/how-to-check-sqlite-database-file-and-get-my-defined-database-user-version
相关文章推荐
- android开发(24)使用SQLiteOpenHelper的onUpgrade实现数据库版本升级
- 使用SQLiteOpenHelper的onUpgrade实现数据库版本升级
- android开发(24)使用SQLiteOpenHelper的onUpgrade实现数据库版本升级
- 使用SQLiteOpenHelper对数据库进行版本管理
- SQLiteOpenHelper中实现创建数据库与版本变化的源代码
- Android SQLiteOpenHelper onUpgrade使用注意事项
- Android 使用SQLiteOpenHelper对数据库进行版本管理
- SQLiteOpenHelper 升级onUpgrade 的调用问题
- 使用SQLiteOpenHelper对数据库进行版本管理1
- 使用SQLiteOpenHelper对数据库进行版本管理
- 【转】Android使用SQLiteOpenHelper对数据库进行版本管理【学习记录】
- 使用 SQLiteOpenHelper 对数据库进行操作
- 操作数据库之一(实现SQLiteOpenHelper绑定ListView)
- SqliteOpenHelper的onUpgrade()死活不运行的解法
- Android中使用SQLiteOpenHelper管理SD卡中的数据库
- 我的android 第15天 -使用SQLiteOpenHelper获取用于操作数据库的SQLiteDatabase实例
- SQLiteOpenHelper版本升级
- SQLiteOpenHelper的使用,对数据库操作的封装
- MonoDroid学习笔记(十一)—— 使用SQLiteOpenHelper实现简易备忘录
- android 使用 SQLiteOpenHelper 实现对SQLite数据库操作