使用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 data-binding可以通过为数据对象提供数据更改时的通知功能来使用。但在此之前,您需要修改POJO类。有不同的数据更改通知机制:Data Objects < / p>
1.实现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 Collections:
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数据绑定吗?
期待您的回复!谢谢!