GreenDao的簡單使用說明(六)補遺
來自: http://blog.csdn.net//chenguang79/article/details/50475613
通過上面四篇文章,我們已經可以很好的使用的 GreenDao了。這里我再做一些補漏的事,就是我們一直在提,為已存在的表添加字段什么的,但是一直沒有實現做過。這里我們就用兩種方法,來實現它。
第一種,使用我們的THDevOpenHelper.java來完成,因為它是繼承自DaoMaster.OpenHelper,先來看一下代碼
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { switch (oldVersion) { case 6: //創建新表,注意createTable()是靜態方法 /*********************為了與上面幾篇保持連貫,所以這幾個生成表,我就沒有刪除,只是注掉了*******************************/ //infosDao.createTable(db, true); //infoTypeDao.createTable(db,true); //AreasDao.createTable(db,true); //StudentsDao.createTable(db,true); //TeachersDao.createTable(db,true); //stuAndteaDao.createTable(db,true); //這里我們為我們的users表,添加一個地址的字段 // 加入新字段 db.execSQL("ALTER TABLE 'Users' ADD COLUMN 'address' TEXT;"); // TODO break; } } 我在第二篇里已經說了,GreenDao里面DaoMaster中有onUpgrade的方法,它是它的方法是先刪除表,再重新建立,這個問題 就出來了,刪除表后,我里面原有的數據就全 沒了,當然,你可以采用建立臨時表的方式,完成它。我們在這里使用這種繼承類的方法,就可以不用管這些了,生成完之后,我們原來的數據還在,這樣就省掉了,我們生成 臨時表的工作。 當然了,你還是要在MyDaoGenerator.java中添加userBean.addStringProperty("address");并運行MyDaoGenerator。 第二種方法,現在已經有了一個第三方插件 地址:https://github.com/yuweiguocn/GreenDaoUpgradeHelper 里面的說明很細了,也很方便,不用我們自己寫類進行繼承了。但是這里要注意一點,你每次重新運行MyDaoGenerator后,在onUpgrade中你都要重新寫一次它的方法。因為 你重新運行之后,代碼被重新生成了。
好,關于GreenDao的一些簡單設置與使用,就說這些,這個只是我在使用中的一個記錄,如果有不對的希望,希望得到你的更改。
本文由用戶 EriDruitt 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!