如何升级android版本检查版本升级应该怎么做

关注51Testing
Android SQLite数据库版本升级原理解析
发表于: 09:36 &作者:传说之美 & 来源:51Testing软件测试网采编
推荐标签:
  其中SQL.java是建表语句public class SQL {public static final String T_FAVORITE = "favorite";public static final String CREATE_TABLE_FAVORITE ="CREATE TABLE IF NOT EXISTS " + T_FAVORITE + "(" +"id VARCHAR PRIMARY KEY, " +"title VARCHAR, " +"url VARCHAR, " +"createDate VARCHAR " +")";}  (2)、V2.0 &: DATABASE_VERSION = 1001 在favorite表添加1个deleted字段public class DBHelper extends SQLiteOpenHelper {private static final String DATABASE_NAME = "mall.db";private static final int DATABASE_VERSION = 1001;private static DBHelper instance =public DBHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}public synchronized static DBHelper getInstance(Context context) {if (instance == null) {instance = new DBHelper(context);}}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(SQL.CREATE_TABLE_FAVORITE);// 若不是第一个版本安装,直接执行数据库升级// 请不要修改FIRST_DATABASE_VERSION的值,其为第一个数据库版本大小final int FIRST_DATABASE_VERSION = 1000;onUpgrade(db, FIRST_DATABASE_VERSION, DATABASE_VERSION);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// 使用for实现跨版本升级数据库for (int i = oldV i & newV i++) {switch (i) {case 1000:upgradeToVersion1001(db);default:}}}private void upgradeToVersion1001(SQLiteDatabase db){// favorite表新增1个字段String sql1 = "ALTER TABLE "+SQL.T_FAVORITE+" ADD COLUMN deleted VARCHAR";db.execSQL(sql1);}}  (3)、V3.0 &: DATABASE_VERSION = 1002 在favorite表添加message和type字段public class DBHelper extends SQLiteOpenHelper {private static final String DATABASE_NAME = "mall.db";private static final int DATABASE_VERSION = 1002;private static DBHelper instance =public DBHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}public synchronized static DBHelper getInstance(Context context) {if (instance == null) {instance = new DBHelper(context);}}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(SQL.CREATE_TABLE_FAVORITE);// 若不是第一个版本安装,直接执行数据库升级// 请不要修改FIRST_DATABASE_VERSION的值,其为第一个数据库版本大小final int FIRST_DATABASE_VERSION = 1000;onUpgrade(db, FIRST_DATABASE_VERSION, DATABASE_VERSION);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// 使用for实现跨版本升级数据库for (int i = oldV i & newV i++) {switch (i) {case 1000:upgradeToVersion1001(db);case 1001:upgradeToVersion1002(db);default:}}}private void upgradeToVersion1001(SQLiteDatabase db){// favorite表新增1个字段String sql1 = "ALTER TABLE "+SQL.T_FAVORITE+" ADD COLUMN deleted VARCHAR";db.execSQL(sql1);}private void upgradeToVersion1002(SQLiteDatabase db){// favorite表新增2个字段,添加新字段只能一个字段一个字段加,sqlite有限制不予许一条语句加多个字段String sql1 = "ALTER TABLE "+SQL.T_FAVORITE+" ADD COLUMN message VARCHAR";String sql2 = "ALTER TABLE "+SQL.T_FAVORITE+" ADD COLUMN type VARCHAR";db.execSQL(sql1);db.execSQL(sql2);}}  就是这样,无论v1.0升级到v3.0,或者v2.0升级到3.0,还是v3.0直接安装,安装后的v3.0数据库结构都是一样的,理解透彻就是好啊,刚做sqlite数据库的肯定会遇到这些问题,所以在这里详细地写了一下,不过还是要注意一下,就是onUpgrade升级时候一定要写对,测试好,不然安装后的数据库都有问题就麻烦了。
搜索风云榜
51Testing官方微信
51Testing官方微博
测试知识全知道&>&&>&&>&&>&Android检测版本更新
Android检测版本更新
上传大小:1.88MB
具体详见博客http://blog.csdn.net/u/article/details/
综合评分:0(0位用户评分)
所需积分:1
下载次数:19
审核通过送C币
创建者:amixuse
创建者:otldan
创建者:huang3513
课程推荐相关知识库
上传者其他资源上传者专辑
移动开发热门标签
VIP会员动态
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
Android检测版本更新
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:2015年8月 移动开发大版内专家分月排行榜第三2014年9月 移动开发大版内专家分月排行榜第三2014年7月 移动开发大版内专家分月排行榜第三
2015年8月 移动开发大版内专家分月排行榜第三2014年9月 移动开发大版内专家分月排行榜第三2014年7月 移动开发大版内专家分月排行榜第三
2015年8月 移动开发大版内专家分月排行榜第三2014年9月 移动开发大版内专家分月排行榜第三2014年7月 移动开发大版内专家分月排行榜第三
2014年6月 移动开发大版内专家分月排行榜第二
2014年6月 移动开发大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 android app版本升级 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信