1. src-main 同级目录下建立java-gen 文件夹
2.app gradle中添加
compile 'de.greenrobot:greendao-generator:1.3.1'
3.建立java library Module 模块
在 java library Module 模块 gradale
apply plugin: 'java' dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'de.greenrobot:greendao-generator:1.3.1' } sourceCompatibility = "1.7" targetCompatibility = "1.7"4. run 此java 项目package com.example; import de.greenrobot.daogenerator.DaoGenerator; import de.greenrobot.daogenerator.Entity; import de.greenrobot.daogenerator.Schema; public class ExampleDaoGenerator { public static void main(String[] args) throws Exception { // 正如你所见的,你创建了一个用于添加实体(Entity)的模式(Schema)对象。 // 两个参数分别代表:数据库版本号与自动生成代码的包路径。 Schema schema = new Schema(1, "me.itangqi.greendao"); // 当然,如果你愿意,你也可以分别指定生成的 Bean 与 DAO 类所在的目录,只要如下所示: // Schema schema = new Schema(1, "me.itangqi.bean"); // schema.setDefaultJavaPackageDao("me.itangqi.dao"); // 模式(Schema)同时也拥有两个默认的 flags,分别用来标示 entity 是否是 activie 以及是否使用 keep sections。 // schema2.enableActiveEntitiesByDefault(); // schema2.enableKeepSectionsByDefault(); // 一旦你拥有了一个 Schema 对象后,你便可以使用它添加实体(Entities)了。 addNote(schema); // 最后我们将使用 DAOGenerator 类的 generateAll() 方法自动生成代码,此处你需要根据自己的情况更改输出目录(既之前创建的 java-gen)。 // 其实,输出目录的路径可以在 build.gradle 中设置,有兴趣的朋友可以自行搜索,这里就不再详解。 new DaoGenerator().generateAll(schema, "/BmobDemo/app/src/main/java-gen"); } /** * @param schema */ private static void addNote(Schema schema) { // 一个实体(类)就关联到数据库中的一张表,此处表名为「Note」(既类名) Entity note = schema.addEntity("Note"); // 你也可以重新给表命名 // note.setTableName("NODE"); // greenDAO 会自动根据实体类的属性值来创建表字段,并赋予默认值 // 接下来你便可以设置表中的字段: note.addIdProperty(); note.addStringProperty("text").notNull(); // 与在 Java 中使用驼峰命名法不同,默认数据库中的命名是使用大写和下划线来分割单词的。 // For example, a property called “creationDate” will become a database column “CREATION_DATE”. note.addStringProperty("comment"); note.addDateProperty("date"); } }5 android 项目中使用compile 'de.greenrobot:greendao-generator:1.3.1'
6.界面使用 增删改查package org.zzgsc.com.bmobdemo; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Toast; import java.util.Date; import java.util.List; import de.greenrobot.dao.query.Query; import me.itangqi.greendao.DaoMaster; import me.itangqi.greendao.DaoSession; import me.itangqi.greendao.Note; import me.itangqi.greendao.NoteDao; /** * Created by Administrator on 2016/10/14. */ public class DbTest extends AppCompatActivity { private DaoMaster daoMaster; private DaoSession daoSession; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.db); initdb(); } /** * 添加数据 */ public void add(View view) { Note note = new Note(null, "gsc", "Learn orm 框架", new Date()); daoSession.getNoteDao().insert(note); Toast.makeText(getApplicationContext(), "insert Ok!", 1).show(); } /** * @param view 查询数据 */ public void select(View view) { //条件查询 // Query<Note> gsc = daoSession.getNoteDao().queryBuilder().where(NoteDao.Properties.Text.eq("gsc")).build(); Query<Note> build = daoSession.getNoteDao().queryBuilder().build(); List<Note> list = build.list(); for (Note N : list) { String comment = N.getComment(); Date date = N.getDate(); String text = N.getText(); System.out.println("------------" + N.getId()); } } public void Del(View view) { //删除所有 // daoSession.getNoteDao().deleteAll(); //根据key 主键删除 daoSession.getNoteDao().deleteByKey(10L); System.out.println("删除成功!"); } public void update(View view) { //修改以前要查询 Query<Note> gsc = daoSession.getNoteDao().queryBuilder().where(NoteDao.Properties.Text.eq("gsc")).build(); List<Note> list = gsc.list(); for (Note n : list) { n.setText("fdy"); daoSession.getNoteDao().update(n); Toast.makeText(this, "修改成功!!", Toast.LENGTH_SHORT).show(); } } /** * 初始化数据库 */ private void initdb() { String dbName = "stu";//数据库名字 DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, dbName, null); SQLiteDatabase db = helper.getWritableDatabase();//获取数据库对象 daoMaster = new DaoMaster(db);//获取数据库的管理者 daoSession = daoMaster.newSession(); } }学习参考了这篇文章 http://www.open-open.com/lib/view/open1438065400878.html