2016.4.23

作者: oaosj | 来源:发表于2016-04-24 18:36 被阅读26次

1.关于Retrofit2踩过的坑:
1.1 Call对象实例
Call对象,需要注意的是Call对象实例只能被调用一次,不然就会抛出异常,如果要同时执行sync、async操作的话,可以通过call.clone()来解决。

Call<NewsBean> call = service.getNews("type", "pageNum");
response = call.execute();
// 抛出IllegalStateException:
response = call.execute();
Call<NewsBean> call2 = call.clone();
// 不会抛出异常:
response = call2.execute();

1.2 使用RxJava+Retrofit2返回Observable
因为Retrofit2使用了Call,使用Call的目的还是为了能在一个类型中同时使用同步和异步,如果在1.x版本就需要在接口里面设置回调了,比较死板。
这里要使用Observable的话,需要在构建Build的时候添加适配工厂。关于RxJava的适配官方已经写好了,添加:compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'引用,版本统一就好了。

@GET(Config.url_news)
Observable<NewsBean> getJoke(@QueryMap Map<String, Object> options);
final Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(point)
        .addConverterFactory(GsonConverterFactory.create())
        .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
        .build();
T service = retrofit.create(clz);
return service;

到这里已经有一个很好的想法了,一般后台接口返回的数据类型不一,可以通过构造一个适配工厂:继承Adapter.Factory,实现类型的解析,用来直接返回我们需要的类型,不论是各式各样的Observable,还是其它。这样在配置接口的时候,更加灵活吧。这个想法遇到实际场景可以解决,再说了RxJavaCallAdapterFactory也是提供了很好的样板。
1.3 说说下午的坑

  • 没精力的情况下,不要任性的用开发阶段的产品,你需要自己去考虑任何可能产生的奇葩问题。
  • Retrofit2.0对于我们这种懒惰的人来说简直太棒了,但是一个毛病折腾了我2个小时,自己竟然在手写RxJava适配工厂,没想到有现成的,我艹。
  • carlos gardel 的 Por una Cabeza 听着很舒服,
    MV地址:www.youtube.com/watch?v=Gcxv7i02lXc

相关文章

  • 2016.4.23

    1.关于Retrofit2踩过的坑:1.1 Call对象实例Call对象,需要注意的是Call对象实例只能被调用一...

  • 2016.4.23

    其实早就开始每天为你写一封情书,一直在手机或者pad的备忘录上,每天有些什么感触或者想你或者想跟你说的话都会写下来...

  • 2016.4.23

    昨天没有继续写,懒惰。今天依然不知道写什么。就是逼着自己写。为了写而写。姨妈疼,睡了一觉又一觉。大概是太缺血了,脑...

  • 2016.4.23

    失业已经三天了,在这三天中我没有投过一份简历,虽然口袋里的钱早已是不多了,但是不知道为什么总是没有着急的感觉,已经...

  • 2016.4.23

    我从初二开始看奇葩说,到现在我已经高一了。也许奇葩说有一些内容可能不太适合我们这个年龄,可是相信我,现在的中学...

  • 2016.4.23

    深夜,让人更加清醒,我跟我的小闺蜜闲扯了又一个夜晚。 我们都长大了…话题很多。 当然,闺蜜一晚上只能坐着听着絮絮叨...

  • 2016.4.23

    “愿每天不要仅仅为感情之事费尽心思 别忘了你还有更重要的事情去做 努力成为优秀的人才是最值得的”

  • 2016.4.23小计

    还有大概一个星期2016年就过去整4个月了,日子过的飞快,只觉得事情很多,却眼睁睁看着时光飞逝一点事都没有做。所以...

  • 人间四月天

    2016.4.23 周六 武汉 阴雨天 世界读书日,看完无声告白。

  • 宝贝驾到 2016.4.23

    今天是周六,爸爸加班去了,2-7点,爸爸太辛苦了。 宝贝,你今天一整天都没有睡整觉,总是吃了奶就醒,玩一会儿又饿了...

网友评论

      本文标题:2016.4.23

      本文链接:https://www.haomeiwen.com/subject/zeefrttx.html