1

我正在使用 robospice、spring 和 jackson 开发一个 android 应用程序。一切正常,除了缓存结果没有 POJO 类的关系。

例如;

public class User extends SampleBase {
    public int id;
    public String name;
    public Address address;
}

public class Address extends SampleBase {
    public int id;
    public String street;
    public String city;
}

public class SampleBase {
    // Base class of all POJO classes
}

当我发送获取用户的请求时,我会正确获取所有值。但是,当我尝试从缓存中获取用户时,地址字段返回 null。如果两个类之间存在关系,则这些关系字段为空,但其他字段正常。

请求结果:

User:
    id:       1
    name:     "Test User"
    address:  Address Object

缓存结果:

User:
    id:       1
    name:     "Test User"
    address:  null

在我的设计中,所有 POJO 类都扩展了 SampleBase。而且只有一个RequestListener:

public class SampleRequestListener implements RequestListener<SampleBase> {

     @Override
     public void onRequestSuccess(SampleBase result) {
         // Some operations
     }

     @Override
     public void onRequestFailure(SpiceException e) {
         // Some operations
     }
}

我不知道这是否与我的请求侦听器有关,但这在发送请求时可以正常工作。我应该做些什么来获取缓存对象的相关对象吗?

4

1 回答 1

0

很奇怪,我们经常这样做,而且效果很好。尝试在杰克逊论坛上找到一些解决方案,RS 在这里只是一个包装器。

于 2013-05-10T15:43:13.627 回答