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. linux公社的大了免费在线android资料
  2. android 资源res下目录使用
  3. Android(安卓)文件操作,删除,拷贝文件等
  4. windows系、公司内网环境 如何下载android 源码
  5. Android(安卓)Studio生成javadoc出错的解决办法
  6. 升级Android(安卓)SDK Tools以及Android(安卓)SDK Platform-tool
  7. 《Qt on Android核心编程》购买链接出来了
  8. myEclipse8.5集成svn android svn使用
  9. Your project contains error(s),please fix them before running

随机推荐

  1. CentOS 7下使用FirewallD构建动态防火墙
  2. Linux压力测试软件Stress使用指南
  3. 批量杀死MySQL连接的几种方法
  4. Java访问数据库之JDBC实现方式
  5. Hping使用方法详解
  6. 如何解决Firefox&Chrome下无法访问特定端
  7. 在Nginx使用Lua扩展功能
  8. CentOS下实现SFTP CHROOT的几种方法
  9. Apache/Nginx通过UserAgent屏蔽蜘蛛和采
  10. Systemd入门教程