我的任务是为我的应用程序(它是某种信使)在Android OS上制作磁盘缓存。我想将消息存储在数据库中,但遇到了存储不同类型消息的问题(目前有5种类型的消息,每种类型都有自己的字段,并且它们都继承基类)。
GreenDaodocumentation说:
注意:当前不可能拥有另一个实体作为超类(也没有多态查询)
我计划有一个实体与基类几乎一对一,除了一个列-原始二进制或JSON数据,每个子类都可以在其中编写任何需要的内容。
我的问题是:
GreenDaodocumentation说:
注意:当前不可能拥有另一个实体作为超类(也没有多态查询)
我计划有一个实体与基类几乎一对一,除了一个列-原始二进制或JSON数据,每个子类都可以在其中编写任何需要的内容。
我的问题是:
- GreenDao是这种情况下的好解决方案吗?是否有其他解决方案可以让我们不用担心继承问题,它们在效率方面的成本是多少。
- 如何将数据“序列化”到这样的字段中(我应该重写哪个方法或者我应该把我的代码放在哪里来完成所有必要的事情)。
- 如何为GreenDao提供正确的构造函数以将Json或二进制文件“反序列化”为正确的类实例。
- 我应该使用反射还是使用switch/case来查找正确的构造函数(只有5种类型的构造函数可用)- 反射在这种情况下会产生多大的“成本”?