首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Retrofit2 API调用保存到RxJava缓存

将Retrofit2 API调用保存到RxJava缓存
EN

Stack Overflow用户
提问于 2016-10-25 13:16:10
回答 1查看 352关注 0票数 1

我是rxJava和Retrofit2的新手,但我似乎不知道如何实现理想的情况:

  1. 获取位置列表( JSON接口)--这将给出一个带有Retrofit2对象的JSON
  2. 将JSON数组放在HashMap中(在哪里处理?)
  3. 将HashMap放在Singleton中,这样就可以缓存它,并且可以在整个应用程序中使用getInstance调用

JSON数组包含数百个我希望缓存的“位置”(Singleton),因此我不必对应用程序中的每个更改进行调用。

接口(myAPI)

代码语言:javascript
运行
复制
    /**
     * RxJava testing endpoint
     * @return Observable list of Places
     * count = 0 means everything
     */
    @GET("place/search?count=0")
    rx.Observable<List<Place>> loadPlacesRx();

辛格尔顿

代码语言:javascript
运行
复制
...
private static PlaceSingleton ourInstance = new PlaceSingleton();
    private static RxJavaCallAdapterFactory rxAdapter =
            RxJavaCallAdapterFactory.createWithScheduler(Schedulers.io());

    private static Retrofit retrofit = new Retrofit.Builder()
            .addConverterFactory(JacksonConverterFactory.create())
            .addCallAdapterFactory(rxAdapter)
            .baseUrl(myAPI.BASE_URL)
            .build();

    // Prepare call in Retrofit2
    private static MyAPI myAPI = retrofit.create(MyAPI.class);

    /**
     * This method should handle the steps mentioned above
     */
    public void getAllPlaces() {

    poiList = myAPI.loadPlacesRx()
    .map(Place -> ...
...
EN

回答 1

Stack Overflow用户

发布于 2016-10-25 13:23:14

可以使用Gson将对象保存到自己的缓存序列化对象到字符串中,并将其保存到共享首选项中。

使用Gson:序列化:

代码语言:javascript
运行
复制
new Gson().toJson(yourObject);

并进行反序列化:

代码语言:javascript
运行
复制
new Gson().fromJson(stringObject);

使用Jakson:

序列化:

代码语言:javascript
运行
复制
ObjectMapper mapper = new ObjectMapper();
String objectString = mapper.writeValueAsString(object);

去序列化:

代码语言:javascript
运行
复制
ObjectMapper mapper = new ObjectMapper();
Object object = mapper.readValue(jsonInString, Object.class);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40241032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档