由于公司项目使用的greenDao版本1.3.7,我们都知道greenDao3.2我们只要定义一个实体标注@Entity注解在同步下工程就能生成DAO等代码
下面我来介绍一下android studio 怎么生成greenDao代码,首先我们工程中建立一个javaProject,可以参考https://www.cnblogs.com/arxive/p/7689671.html
1.我们导入所需要的jar包
2.我们在javaProgect创建一个自定义的文件夹来存放生成的代码(本人greendao)之后在创建一个DaoGenrator类代码如下:
package com.example.javaproject; import de.greenrobot.daogenerator.DaoGenerator; import de.greenrobot.daogenerator.Entity; import de.greenrobot.daogenerator.Schema; public class PatrolcheckDaoGenerator extends libDaoGenerator { public final static String OUTPATH = "D:\\androidxm\\githubme\\greenDaoMaster\\javaProject\\src\\main\\java"; public final static String PACKAGENAME = "com.example.javaproject.greendao"; public static void main(String[] args) throws Exception { PatrolcheckDaoGenerator mPatrolcheckDaoGenerator = new PatrolcheckDaoGenerator(); Schema schema = new Schema(16, PACKAGENAME); mPatrolcheckDaoGenerator.addAll(schema); new DaoGenerator().generateAll(schema, OUTPATH); } @Override public void addAll(Schema schema) { super.addAll(schema); addListDat(schema); addUerDat(schema); } private void addListDat(Schema schema) { Entity tb = schema.addEntity("ListData"); tb.addIntProperty("detail_level"); tb.addStringProperty("display_name"); tb.addStringProperty("parent_id"); tb.addStringProperty("user_id"); tb.addStringProperty("user_id1"); tb.addStringProperty("user_id2"); } private void addUerDat(Schema schema) { Entity tb = schema.addEntity("CommonCheckType"); tb.addIdProperty(); tb.addStringProperty("user_name"); tb.addStringProperty("check_parent_name"); tb.addIntProperty("check_parent_id"); tb.addStringProperty("check_name"); tb.addIntProperty("check_id"); tb.addIntProperty("check_count"); } }
3. 对于路径问题
1.Schema schema = new Schema(16, PACKAGENAME);第一个参数是数据库版本号,第二个参数
PACKAGENAME是我们指定的项目工程的生成代码包路径("com.example.javaproject.greendao)
2.String OUTPATH = "D:\\androidxm\\githubme\\greenDaoMaster\\javaProject\\src\\main\\java";
这个指的是项目绝对路径如图:
4.之后我们运行下项目就大功告成了:
demo下载地址 https://github.com/lurenman/greenDaoMaster