Reference URL:
http://greenrobot.org/greendao/documentation/how-to-get-started/ github: https://github.com/greenrobot/greenDAO
http://www.tuicool.com/articles/63I3EfB
1. Integrate greendao:
root directory build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
}
}
app's build.gradle
apply plugin: 'org.greenrobot.greendao'
dependencies {
compile 'org.greenrobot:greendao:3.0.1'
}
configure automatic generation of dao path
greendao {
schemaVersion 1
daoPackage 'com.swntek.czm.easycardbusiness.dao'//package path
targetGenDir 'src/main/java' //Generate directory path
}
Then makeproject is configured
2. Create a new entity class
@Entity public class Student { @Id(autoincrement = true) private Long id; private String name; @Generated(hash = 1097502469) public Student(Long id, String name) { this.id = id; this.name = name; } @Generated(hash = 1556870573) public Student() { } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
After compiling, the corresponding 3 files will be generated under the configuration package
3. Write manager management
public class StudentDbManager { private final static String dbName = "student_db"; private static StudentDbManager mInstance; private DaoMaster.DevOpenHelper openHelper; private DaoMaster daoMaster; private Context context; public StudentDbManager(Context context) { this.context = context; openHelper = new DaoMaster.DevOpenHelper(context, dbName, null); daoMaster = new DaoMaster(getWritableDatabase()); } public static StudentDbManager getInstance(Context context) { if (mInstance == null) { synchronized (StudentDbManager.class) { if (mInstance == null) { mInstance = new StudentDbManager(context); } } } return mInstance; } /** * Get a readable database */ public SQLiteDatabase getReadableDatabase() { if (openHelper == null) { openHelper = new DaoMaster.DevOpenHelper(context, dbName, null); } SQLiteDatabase db = openHelper.getReadableDatabase(); return db; } /** * Get writable database */ public SQLiteDatabase getWritableDatabase() { if (openHelper == null) { openHelper = new DaoMaster.DevOpenHelper(context, dbName, null); } SQLiteDatabase db = openHelper.getWritableDatabase(); return db; } public StudentDao getDao(){ DaoSession daoSession = daoMaster.newSession(); StudentDao userDao = daoSession.getStudentDao(); return userDao; } /** * insert a record */ public void insertUser(Student student) { StudentDao dao=getDao(); dao.insert(student); } /** * Inquire */ public List<Student> query(){ QueryBuilder<Student> qb = getDao().queryBuilder(); List<Student> list = qb.list(); return list; } } ...method
4. Test
public void testgreendaoinsert(){ Student student = new Student(); student.setName("aa"); StudentDbManager.getInstance(getApplicationContext()).insertUser(student); } public void testgreendaoquery(){ List<Student> students = StudentDbManager.getInstance(getApplicationContext()).query(); Log.e("tagg",students.size()+""); }