1、在app的Gradle中配置:
apply plugin: 'org.greenrobot.greendao'添加依赖:
dependencies { compile 'org.greenrobot:greendao:3.2.0' }
2、在project的Gradle中配置:
buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }3、在app的Gradle配置 数据库 版本等信息(android下)
greendao { schemaVersion 1 daoPackage 'com.bwie.greendao.gen' targetGenDir 'src/main/java' }4、在项目中定义实体类
//标识实体类 @Entity public class User { //标识主键(autoincrement = true表示自动增长) @Id(autoincrement = true) private Long id; private String name; private int age; }5、新建一个类,实例化greenDAO所需要的几个关键对象,DaoMaster,DaoSession,代码如下:
public class GreenDaoManager { private DaoMaster mDaoMaster; private DaoSession mDaoSession; private static volatile GreenDaoManager mInstance = null; private GreenDaoManager() { if (mInstance == null) { DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(Myapp.getContext(), "user.db"); mDaoMaster = new DaoMaster(devOpenHelper.getWritableDatabase()); mDaoSession = mDaoMaster.newSession(); } } public static GreenDaoManager getInstance() { if (mInstance == null) { synchronized (GreenDaoManager.class) { if (mInstance == null) { mInstance = new GreenDaoManager(); } } } return mInstance; } public DaoMaster getMaster() { return mDaoMaster; } public DaoSession getSession() { return mDaoSession; } public DaoSession getNewSession() { mDaoSession = mDaoMaster.newSession(); return mDaoSession; } }
然后在Application中初始化:
GreenDaoManager.getInstance();现在就可以操作数据库了。
6、数据库的增、删、改、查
首先获得UserDao的对象
UserDao userDao = GreenDaoManager.getInstance().getNewSession().getUserDao();增:
user = new User(null, "唐1", 22); userDao.insert(user);
删:
(按照id删除)
userDao.deleteByKey(id);(全部删除)
userDao.deleteAll();
查:
(查询全部数据)
List<User> users = userDao.loadAll(); String name = ""; for (int i = 0; i < users.size(); i++) { name+=user.getName()+","; } Toast.makeText(this , "查詢"+ name,Toast.LENGTH_SHORT).show();
改:
(按照id查找)
user = new User((long)2,"唐唐"); UserDao.update(user);