使用greenDAO库时,需要使用greendao-generator生成相关的POJO和XXXDAO、DAOSession、DAOMaster类。就像这里的 POJO 类一样:Note.java
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit.
/**
* Entity mapped to table "NOTE".
*/
public class Note {
private Long id;
/** Not-null value. */
private String text;
private String comment;
private java.util.Date date;
public Note() {
}
public Note(Long id) {
this.id = id;
}
public Note(Long id, String text, String comment, java.util.Date date) {
this.id = id;
this.text = text;
this.comment = comment;
this.date = date;
}
// Getter and setter...
}
每次更改模型时,都需要重新生成此代码。
Android数据绑定可以通过让你的数据对象能够在数据变化时通知来使用。但在此之前,你需要修改你的POJO类。有不同的数据变化通知机制:数据对象
1.实现接口,在setter中Observable
分配Bindable
注解和调用方法。notifyPropertyChanged()
private static class User extends BaseObservable {
private String firstName;
private String lastName;
@Bindable
public String getFirstName() {
return this.firstName;
}
@Bindable
public String getLastName() {
return this.lastName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
notifyPropertyChanged(BR.firstName);
}
public void setLastName(String lastName) {
this.lastName = lastName;
notifyPropertyChanged(BR.lastName);
}
}
2.使用 ObservableFields 或 Observable 集合:
private static class User {
public final ObservableField<String> firstName =
new ObservableField<>();
public final ObservableField<String> lastName =
new ObservableField<>();
public final ObservableInt age = new ObservableInt();
}
那么,如果我们想同时使用greenDAO和Android数据绑定,需要手动修改自动生成的文件吗?如果您的项目很大,我相信这是一项非常大量的工作。或者现在有什么优雅的方法可以让greenDAO支持android数据绑定?
期待你的答复!谢谢!