GreenDao数据库的升级】的更多相关文章

应用使用了GreenDao数据库,在版本升级的时候需要更改dao的字段,新增.修改.删除字段操作,如果直接删除原来的表的话那用户原来的一些数据就没有了,所以在更新数据库的时候需要做一次封装,把原来的数据保存后再更新数据库版本: 代码是用的网上的大神的,经过一些修改.利用这个类替换在Application里面的Helper类就可以完成数据的迁移了. import android.database.Cursor; import android.text.TextUtils; import andro…
1.先用GreenDao工具类编写自动创建代码,按照升级后的最新数据库结构来编写 2.GreenDao工具自动生成的代码覆盖到项目里去 3.在项目里找到对应的自动生成的数据库DaoMaster类 在DaoMaster类里有个内部类DevOpenHelper里的方法onUpgrade里写上数据库结构变化的代码,比如某个表新增字段,并要把里面dropAllTables和onCreate方法删掉 /** WARNING: Drops all table on Upgrade! Use only dur…
之前使用的greendao数据库存储服务器所有的历史推送消息,但是后来消息需要加几个新的字段 举个栗子,比如要新增红色框住的字段到数据库中: 本仙女作为一只思想成熟的菜鸡,当然是加了字段就赶紧重新往里存,然后就一通报错android.database.sqlite.SQLiteException: no such column: T.XXX (code 1): , while compiling... emm, 这种时候,求上进的仙女一般都会上网找问题 然后发现,原来是数据库没升级 嗯, 好的,…
http://www.cnblogs.com/wang340/archive/2013/05/06/3063135.html http://www.eoeandroid.com/forum.php?mod=viewthread&tid=166052     做Android应用,不可避免的会与SQLite打交道.随着应用的不断升级,原有的数据库结构可能已经不再适应新的功能,这时候,就需要对SQLite数据库的结构进行升级了. SQLite提供了ALTER TABLE命令,允许用户重命名或添加新的…
一.数据库的创建 1.文件的创建      //引用,如果文件不存在是不会创建的   File  file = new File("haha.txt"):     //输出流写数据,文件才会被创建   FileOutputStream  fos = new FileOutputStream(file):   fos.write("".getBytes()):   fos.close(): 2.数据库的创建 //执行下面这一点代码,数据库是不会被创建出来的.相当于Fi…
GreenDAO是一款非要流行的android平台上的数据库框架,性能优秀,代码简洁. 初始化数据库模型代码的时候需要使用java项目生成代码,依赖的jar包已经上传到我的资源里了,下载地址如下:http://download.csdn.net/detail/fancylovejava/8859203 项目开发中用到的就是GreenDAO数据库框架,需要进行数据库版本升级. 其实数据库版本升级比较麻烦的就是数据的迁移,data migration. 数据库版本升级有很多方法,按不同需求来处理.…
软件迭代过程中,业务不断更新,也要求软件持续更新.相应地,数据库更新升级也是不可避免的一个环节.Android作为客户端应用,数据库升级相对于服务端来说会麻烦一些.常见的升级方式有: 1.删除旧表和数据,创建新表.优点是简单方便,缺点是丢失了旧数据.适用于应用数据依赖度低的情况. 2.在代码中兼容处理各版本数据库,创建新表,迁移旧数据到新表.优点是保留了旧数据,缺点是需要处理兼容个版本数据库差异,比较麻烦.如果通过代码来记录维护版本差异,会导致代码臃肿且极易出错. 本文介绍一种简单无缝的数据库升…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 数据库 升级 SQLite onUpgrade 总结 MD 目录 目录SQLite数据库简介SQLite数据库升级单级升级跨级升级案例第一版需求第二版需求第三版需求 SQLite数据库简介 官方网站 Android使用开源的.与操作系统无关的SQL数据库SQLite. SQLite第一个A…
一.数据库的创建 1.文件的创建      //引用,如果文件不存在是不会创建的   File  file = new File("haha.txt"):     //输出流写数据,文件才会被创建   FileOutputStream  fos = new FileOutputStream(file):   fos.write("".getBytes()):   fos.close(): 2.数据库的创建 //执行下面这一点代码,数据库是不会被创建出来的.相当于Fi…
一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public static abstract class OpenHelper extends SQLiteOpenHelper { public OpenHelper(Context context, String name, CursorFactory factory) { super(context, name,…