老司機帶你學習GreenDao3

我知道你們沒有圖是不會進來的,就是簡單的greenDao3的增刪改查 和完全自動化升級字段且保留之前的數據!
IMG_0049.JPG
  • 步驟
  • 1.依賴 首先在project項目中的build.gradle 中添加如下代碼
   buildscript {
  repositories {
    jcenter()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:2.0.0'
    classpath 'org.greenrobot:greendao-gradle-plugin:3.1.0'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' //這個是黃油刀的注解

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
  }
}
  • 2.依賴 在modele中的build.gradle 中添加如下代碼
      apply plugin: 'com.android.application'
      apply plugin: 'org.greenrobot.greendao'
    android {
      compileSdkVersion 23
      buildToolsVersion "25.0.0"
      
      
        buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}
//greendao配置
greendao {
    schemaVersion 6                       //版本號,升級時可配置
    daoPackage 'star.liuwen.com.endgreendao3.Dao'     //包名
    targetGenDir 'src/main/java'                 //生成目錄
  
  
  
dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  testCompile 'junit:junit:4.12'
  compile 'com.android.support:appcompat-v7:23.0.1'
  compile 'org.greenrobot:greendao:3.2.0'
}
  • 3.然后可以新建一個實體類 然后點擊工具欄中的build-----make project 會自動生成相應的dao類

@Entity
public class Test {
    @Id
    private Long id;
    private int url;
    private String name;
    private String desc;
}
  • 切記 id一定是long型的 不然插入數據的時候會報錯的
  • 4.升級不刪除老數據

public class MySQLiteOpenHelper extends DaoMaster.OpenHelper {


    public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory) {
        super(context, name, factory);
    }

    @Override
    public void onUpgrade(Database db, int oldVersion, int newVersion) {
        Log.e("greenDAO",
                "Upgrading schema from version " + oldVersion + " to " + newVersion + " by migrating all tables data");
         //完全自動升級本地數據庫 要升級那個bean 只需要調用下面這個方法 
        // MigrationHelper.getInstance().migrate(db, xxx.class);
        MigrationHelper.getInstance().migrate(db, TestDao.class);
    }
}
  • 上面圖 我是升級了一個desc的字段 發現之前的數據依舊保存 記得 要添加某個實體的字段 schemaVersion 一定要大于當前版本 也就說當前版本是6 那么升級的需 要設置為7 才會有保存之前數據的作用 大家可以多試幾次.

  • 5.具體使用方法可以看代碼了。代碼才是最好的老師

    下面是Demo地址

https://github.com/liuwen370494581/greenDao3

喜歡的盆友麻煩點個贊 非常感謝了。。。。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,819評論 25 708
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,925評論 6 342
  • 5:00~5:30讀《精進》P83~94頁 5:30~6:30組織出車 返回時買顆卷心菜三個胡羅卜 6:40~7:...
    老鷹飛閱讀 96評論 0 0
  • 今天我喜歡的一個微博博主發了一條微博,說的是關于職場上的性別歧視。她那么有能力盡責的人都因為有一個3歲的孩子被HR...
    你的喜歡很重要閱讀 218評論 0 0