【发布时间】:2017-05-28 09:51:20
【问题描述】:
我正在尝试将从改造服务接收到的数据映射到单例类。似乎是因为当改造将 json 映射到我的对象时未调用 getInstance() 静态方法,INSTANCE 变量未初始化,下次我调用 MyClass.getInstance() 时,我得到的对象是默认值,而不是我从改造中收到的。如何将改造中的数据保存到单例类中。
附:我需要这个,因为我需要在 ViewPager 的第二个片段中使用我在第一个片段模型中收到的相同对象。
我的单身班:
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
}
好的,如果有人想知道我如何使用改造:
@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);
}
【问题讨论】:
-
您希望您的数据在应用程序的多次运行或仅通过一次运行后保持不变?
-
单次运行。直到下一次对同一地址的请求(刷新)。