首先编写一个MyApplication类继承Application类
package com.example.sean.greendaotest_2;
import android.app.Application;
import android.database.sqlite.SQLiteDatabase;
import GreenDao.greendao.db.DaoMaster;
import GreenDao.greendao.db.DaoSession;
public class MyApplication extends Application {
private DaoMaster.DevOpenHelper mHelper;
private SQLiteDatabase db;
private DaoMaster mDaoMaster;
private DaoSession mDaoSession;
//静态单例
public static MyApplication instances;
@Override
public void onCreate() {
super.onCreate();
instances = this;
setDatabase();
}
public static MyApplication getInstances(){
return instances;
}
/**
* 设置greenDao
*/
private void setDatabase() {
mHelper = new DaoMaster.DevOpenHelper(
this, "user_db", null);
db = mHelper.getWritableDatabase();
mDaoMaster = new DaoMaster(db);
mDaoSession = mDaoMaster.newSession();
}
public DaoSession getDaoSession() {
return mDaoSession;
}
public SQLiteDatabase getDb() {
return db;
}
}
我将其对数据库的操作封装到了一个Util类里面,具体代码如下:
package com.example.sean.greendaotest_2;
import java.util.List;
import GreenDao.greendao.db.UserDao;
/*
* 数据库增删改查工具类
* */
public class DaoUtil {
private UserDao userDao;
/*
* 增加数据
* */
public void addUser(String name, int age) {
userDao = MyApplication.getInstances().getDaoSession().getUserDao();
User user = new User();
user.setAge(age);
user.setName(name);
userDao.insertOrReplace(user);
}
/*
* 删除数据,通过Key删除
* */
public void deleteUser(long id) {
userDao = MyApplication.getInstances().getDaoSession().getUserDao();
userDao.deleteByKey(id);
}
/*
* 查询数据
* */
public String[] queryUser() {
//StringBuilder sb = new StringBuilder();
userDao = MyApplication.getInstances().getDaoSession().getUserDao();
List<User> userList = userDao.loadAll();
String[] temp = new String[userList.size()];
for (int i = 0; i < userList.size(); i++) {
/* String temp = "";
temp += "ID = " + userList.get(i).getId();
temp += "Name = " + userList.get(i).getName();
temp += "Age = " + userList.get(i).getAge();
sb.append(temp);*/
temp[i] += "ID = " + userList.get(i).getId();
temp[i] += "NAME = " + userList.get(i).getName();
temp[i] += "AGE = " + userList.get(i).getAge();
}
return temp;
}
/*
* 修改数据
* */
public void updateUser(String name, int age, long id) {
userDao = MyApplication.getInstances().getDaoSession().getUserDao();
User user = new User();
user.setId(id); //根据Id来查找到数据,并且修改数据
user.setAge(age);
user.setName(name);
userDao.update(user);
}
}
关于GreenDao的配置,可以查看我的其他博文,以上就是GreenDao的简单使用,如有不足,请多指教。