0
これが可能性はあるのかどうかはわかりませんが、Realmを使用してキャッシュとしてカスタムキャッシング戦略を実現しようとしています。残念ながら、エンティティをRealmレスポンス本体にコピーするには、RealmObjectを拡張する必要があります。明らかに私のレスポンスボディはすべてそうですが、レスポンスとレスポンスボディはインターセプト時にレスポンスクラスのタイプを知らないのです。Retrofit2インターセプタ(レルムのキャッシング)でレスポンスクラスのタイプを取得
は、私はこのような何かをしたい(しかし、後に実装キャッシュ戦略で):
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Response response = chain.proceed(request);
// Somewhere here will be the caching strategy
Realm.getDefaultInstance().copyToRealmOrUpdate(response.body());
return response;
}
});
まず - それも可能ですか?はいの場合は、どのように。私には明らかな解決策はありません。これは私がAPI消費者のクライアントレベルでキャッシングを行う必要がありますことはできません場合は...
ローカルルームインスタンスを開いているため、決して閉じることができません。バックグラウンド非ルーパースレッドで問題が発生する可能性があります。これはネットワーク要求のインターセプタです。 – EpicPandaForce
@EpicPandaForceあなたが正しいです、仕事が終わったときに私はそれを閉じなければなりませんが、これは質問の焦点ではありませんでした。とにかくありがとう! – Necroqubus
@Necroqubus:提案は機能しましたか?もしそうなら、あなたはそれを受け入れることができますか? ...そうでない場合は、代替案を提案できますか? –