- 创建一个entity
@Entity(nameInDb = "note")
public class Note {
@Id(autoincrement = true)
private long id;
private String comment;
private String text;
}
- 点击AndroidStudio 的菜单栏build 点击Make Project或者Make Module 'app',会自动在实体类中生成get、set方法和构造函数
greendao{
schemaVersion 1 //--> 指定数据库schema版本号,迁移等操作会用到;
daoPackage 'sysshare.lq.com.greendaotest.gen' //--> dao的包名,包名默认是entity所在的包;
targetGenDir 'src/main/java'//--> 生成数据库文件的目录;
}
在上述配置daoPackage 包下生成
- DaoMaster
- DaoSession
- UserDao
- 创建一个application
package sysshare.lq.com.greendaotest;
import android.app.Application;
import org.greenrobot.greendao.database.Database;
import sysshare.lq.com.greendaotest.gen.DaoMaster;
import sysshare.lq.com.greendaotest.gen.DaoSession;
public class AppApplication extends Application {
/** A flag to show how easily you can switch from standard SQLite to the encrypted SQLCipher. */
public static final boolean ENCRYPTED = true;
private DaoSession daoSession;
@Override
public void onCreate() {
super.onCreate();
initGreenDao();
}
private void initGreenDao() {
// 通过DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的SQLiteOpenHelper 对象。
// 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为greenDAO 已经帮你做了。
// 注意:默认的DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。
// 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, ENCRYPTED ? "notes-db-encrypted" : "notes-db");
Database db = ENCRYPTED ? helper.getEncryptedWritableDb("super-secret") : helper.getWritableDb();
// 注意:该数据库连接属于DaoMaster,所以多个 Session 指的是相同的数据库连接。
daoSession = new DaoMaster(db).newSession();
}
public DaoSession getDaoSession() {
return daoSession;
}
}
别忘了在Androidmanifest中进行配置
至此greendao的使用的相关配置已经全部配置完毕。
网友评论