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 を返します。2 つのクラス間に関係がある場合、それらの関係フィールドは null ですが、他のフィールドは問題ありません。

リクエストの結果:

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

キャッシュの結果:

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

私の設計では、すべての POJO クラスが SampleBase を拡張しています。RequestListener は 1 つだけです。

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 に答える