[java] view plain copy
-
greendao {
-
schemaVersion 1 //版本
-
daoPackage ’生成文件包名’ // 一般为app包名+生成文件的文件夹名
-
targetGenDir ’src/main/java’ //生成文件路径
-
}
greendao {
schemaVersion 1 //版本
daoPackage ‘生成文件包名’ // 一般为app包名+生成文件的文件夹名
targetGenDir ‘src/main/java’ //生成文件路径
}
4.创建实体类,生成dao文件
[java] view plain copy
-
@Entity
-
public class dayStep {
-
@Id
-
private long id;
-
private String date;
-
private int step;
-
private Long sportId;
-
@ToOne(joinProperty = “ sportId”)
-
private SportInfo sportInfo;//关系表
-
}
@Entity
public class dayStep {
@Id
private long id;
private String date;
private int step;
private Long sportId;
@ToOne(joinProperty = " sportId")
private SportInfo sportInfo;//关系表
}
注意:编写完实体类以后在实体类界面下按下Ctrl+F9(Make project),程序会自动编译生成dao文件,生成的文件一共有三个。
5.使用Greendao
(1)创建一个application类,在application中完成DaoSession的初始化,避免以后重复初始化,便于使用。
[java] view plain copy
-
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() {
-
// 通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper 对象。
-
// 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。
-
// 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。
-
// 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。
-
mHelper = new DaoMaster.DevOpenHelper(this, “sport-db”, null);
-
db = mHelper.getWritableDatabase();
-
// 注意:该数据库连