kei*_*ort 5 orm android greendao
我想为我的greenDAO实体添加一些自定义代码.我看到有类似保护区的东西.但我不喜欢将生成的类检入我的git存储库.我想为此使用继承.
即我有一个实体User.所以我希望greenDAO生成一个名为的类UserBase.我想扩展User并实现这样的方法:
public String getFullName() {
return this.first + " " + this.last;
}
Run Code Online (Sandbox Code Playgroud)
在哪里first和last是托管属性.
但我不知道如何告诉greenDAO使用该类User而不是生成的实体UserBase.有没有办法做到这一点?
我找到了解决这个问题的方法:
您可以为每个实体输入父级:
Entity user = schema.addEntity("User");
...
user.setSuperclass("UserBase");
Run Code Online (Sandbox Code Playgroud)
因此,您可以将其实现UserBase为抽象类.
public abstract class UserBase {
public String getFullName() {
return getFirst() + " " + getLast();
}
public abstract int getFirst();
public abstract int getLast();
}
Run Code Online (Sandbox Code Playgroud)
这里的缺点是,您必须将生成的getter声明为抽象方法来访问它们.
常见的方法是在生成的实体中使用"保留部分".保留部分允许直接在生成的实体中添加成员和方法.点击此处了解详情:http: //greendao-orm.com/documentation/modelling-entities/
| 归档时间: |
|
| 查看次数: |
4290 次 |
| 最近记录: |