レトロフィットサービスから受け取ったデータをシングルトンクラスにマップしようとしています。これは、getInstance()
スタティックメソッドが呼び出されていないためです.jsonをオブジェクトにマップするときに、INSTANCE変数が初期化されず、次回にMyClass.getInstance()
を呼び出すと、私はretrofitから受け取ったものではなくデフォルト値を持つオブジェクトを取得します。改造からシングルトンクラスにデータを保存するにはどうすればいいですか?シングルトンクラスへのjsonマッピングの改良
P.S. ViewPagerの2番目のフラグメントで、最初のフラグメントのモデルで受け取ったのと同じオブジェクトを使用する必要があるため、これが必要です。
マイシングルトンクラス:
public final MySingletonClass {
//pirivate final fields;
private MySingletonClass() {
//default initialization fields
}
public static MySingletonClass getInstance() {
return MySingletonClassSingletonHelper.INSTANCE;
}
private static class MySingletonClassSingletonHelper {
private static final MySingletonClass INSTANCE = new MySingletonClass();
}
//getters
}
OK、誰もが私が改造を使う方法を知っておく必要がある場合:
@Override
public Observable<MySingletonClass> loadData(Integer params) {
return mRetrofitInterface.getMySingletonClass(params).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public interface MySingletonClassService {
@POST("some address")
Observable<MySingletonClass> getMySingletonClass(@Path("idd") Integer idd);
}
中から、あなたのデータはあなたのアプリケーションの複数の実行を介して、または唯一の実行を通じて持続しますか? – Sac
シングル・シングル・ラン。同じアドレスへの次の要求まで(リフレッシュ)。 – Sermilion