GreenDao的GitHub地址:

https://github.com/greenrobot/greenDAO

本文参考大神所写,增加了一些配图,让初学者更容易理解

http://blog.csdn.net/h3c4lenovo/article/details/43566169

  1. 新建gradle空白项目,项目结构如下:

  2. 新建”lib-greendao-generator”module。此library主要是生成Dao、Bean文件,所以主项目不必引用。并且它是一个纯java module。

    1. 新建Module

    2. 选择Java Library

    3. 起个名字,然后finish

    4. 目录结构如下

    5. lib-greendao-generator/build.gradle配置

      apply plugin: 'application'apply plugin: 'java'//设置主class,否则编译不通过mainClassName = "com.example.GeneratorClass"//设置自动生成类的目录,这个目录不是本lib的目录,而是另一个需要被主app引用的目录def outputDir = "../lib-greendao/src/main/java-gen"dependencies {    //添加generator工具引用    compile 'org.greenrobot:greendao-generator:2.2.0'}//自动创建文件夹task createDocs {    def docs = file(outputDir)    docs.mkdirs()}//执行run {    args outputDir}
    6. MyClass.java相关代码

      package com.example;import de.greenrobot.daogenerator.DaoGenerator;import de.greenrobot.daogenerator.Entity;import de.greenrobot.daogenerator.Schema;/** * 创建db类 * 生成操作数据库所需的bean和dao */public class MyClass {    public static void main(String[] args) throws Exception {        //参数1是版本号        //参数2是生成文件的包        Schema schema = new Schema(1, "com.test.greendao");        addNewsDetail(schema);        try {            //后面的目录是在gradle中配置的路径            new DaoGenerator().generateAll(schema, "lib-greendao/src/main/java-gen");        } catch (Exception e) {            e.printStackTrace();        }    }    /** * 创建表 * 生成dao和bean * * @param schema */    private static void addNewsDetail(Schema schema) {        Entity newsDetail = schema.addEntity("TestBean");        newsDetail.setHasKeepSections(true);        newsDetail.addStringProperty("id").primaryKey().index();        newsDetail.addStringProperty("title");        newsDetail.addStringProperty("content");    }}
  3. 新建”lib-greendao”Module

    1. 新建module

    2. 选择Android Library

    3. 输入名称,finish

  4. 目录结构如下

  5. 在app/build.gradle中配置如下

    apply plugin: 'com.android.application'android {    compileSdkVersion 23    buildToolsVersion "23.0.3"    defaultConfig {        applicationId "com.green.test"        minSdkVersion 15        targetSdkVersion 23        versionCode 1        versionName "1.0"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }}dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    testCompile 'junit:junit:4.12'    compile 'com.android.support:appcompat-v7:23.3.0'    //引用被生成dao的library    compile project(':lib-greendao')}
  6. 在lib-greendao/build.gradle中配置如下

    apply plugin: 'com.android.library'android {    compileSdkVersion 23    buildToolsVersion "23.0.3"    defaultConfig {        minSdkVersion 15        targetSdkVersion 23        versionCode 1        versionName "1.0"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }    sourceSets{        main {            //配置java代码路径            java.srcDirs = ['src/main/java', 'src/main/java-gen']        }    }}dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    //引用greendao主包    compile 'org.greenrobot:greendao:2.2.0'}
  7. 运行MyClass就可以得到自动生成的类啦~~~

  8. 混淆

    -dontwarn org.bouncycastle.crypto.**-dontwarn freemarker.**##自动生成类的包地址-keep class com.test.greendao.**{*;}-keep class de.greenrobot.daogenerator.** {*;}-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {    public static java.lang.String TABLENAME;}-keep class **$Properties

源码:https://github.com/601367322/MyGreenDaoTest

更多相关文章

  1. Android(安卓)上网代理设置(浏览器)
  2. Android原生项目集成React Native
  3. android APK包 反编译
  4. 自学 Android(安卓)NDK 的学习之旅-----环境搭建
  5. android框架结构
  6. android下调用C,JNI调用
  7. 代码流程分析二:Settings-蓝牙分析-搜索设备原理
  8. Android新版NDK环境配置(免Cygwin)
  9. Android(安卓)Studio logcat 设置 缓存大小 ,增加logcat条数

随机推荐

  1. Andorid Material Design TextInputLayou
  2. 获取android手机移动设备号
  3. android 7.0 加入 android:directBootAwa
  4. Cocos2d-x教程(38)-iOS移植Android
  5. android的零星基础点(多媒体)之一
  6. Android 学习之CalendarManager日历管理
  7. 两种进度条对话框
  8. Android每天面试一题--Android的Handler
  9. Android小项目之欢迎滑动页面(最简洁方法
  10. Android studio Android Monitor介绍二