AS中创建GreenDao心得

        之前有在AS用到过GreenDao,创建也倒是按网上说的步骤来,也都很顺利,不过最近新入职的一家公司,自己重新搭建的AS环境平台,可能与之前的略有不同,导致在生成Bean文件是一直fail而且没有什么提示(studio中run Java程序好像是没有像 eclipse中的console log),自己摸索了半天才找到原因,所以敲下本次的心得以作日后借鉴。

        首先说AS :

        (1) 在正常创建一个安卓工程后,现在app/arc/main下新建一个文件夹java-dao,准备放置后续生产的greenDao  Bean资源文件;

        (2)在app下的build.gradle中android{...}大括号中添加

sourceSets {
    main {
        java.srcDirs = ['src/main/java', 'src/main/java-dao']
    }
}

,目的是声明上一步即将生成的文件添加在Java文件中(虽然不在Java中**也可以省略这一步,将java-dao文件夹放在java下即可**);在dependencies中加入

compile 'de.greenrobot:greendao:2.0.0'

;然后rebuild一下app使其生效。

        (3)创建java工程daocreate:右击安卓工程new-->Module-->选择java library -->next 。。。

        (4)daocreate创建好后,以往是在里面build.gradle--dependencies中直接

compile 'de.greenrobot:greendao-generator:2.0.0'

,但是此时好像rebuild后引用无法生效,我是直接将java 的 freemarker-2.3.20.jar与greendao-generator-1.3.1,jar拷贝到libs下。

        (5)在你的主MyClass中写java代码:(“D:/...”这个路径与以往的不同,之前是 “../app/src/main/java-dao”,为Bean文件import包名com.green.dao的父文件夹路径)

public static main(String args[]) Exception {
    Schema schema =new Schema(1, "com.green.dao");
    addUserBean(schema);
    DaoGenerator().generateAll(schema, "D:/studio_pros/Daod/app/src/main/java-dao");
}

private void addUserBean(Schema schema) {
    Entity note = schema.addEntity();
    note.addIdProperty();
    note.addStringProperty().notNull();
    note.addStringProperty();
    note.addDateProperty();

    Entity note2 = schema.addEntity();
    note2.addStringProperty().notNull();
    note2.addStringProperty();
    note2.addDateProperty();

}

上面的代码很清晰,这里就不多介绍了,只讲解一点:Schema的第二个参数"com.green.dao"为Bean中的import包名。

若此时没有报错,且上一步有compile,此时就可以将libs下的jar包delete掉(也可以保留jar包dlelte compile),避免重复。

        (6)java运行MyClass文件(右击MyClass.java - run ),app/.../java-dao下就会自动生成dao的相关Bean文件了。若没有生成,可以在main()中try-catch加System.out.pritn调试,看log bug 原因。

        同理,我也试了一下eclipse下的生成步骤,基本与以往相同,唯一不同的是step5 中的路径

"D:/studio_pros/Daod/app/src/main/java-dao"

之前是 ../app/src/main/java-dao,这是关键点。

        总结:貌似可以在生成Bean等资源文件后,delete掉java工程,减小源码与apk大小。

转载于:https://my.oschina.net/u/2318602/blog/670993

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值