【问题标题】:How do I do an Async OkHttp-based REST-call with RoboSpice?如何使用 RoboSpice 进行基于异步 OkHttp 的 REST 调用?
【发布时间】:2014-07-20 03:40:35
【问题描述】:

所以我查看了 github 上的 robospice okhttpclient-sample,惊讶地发现他们展示了 synchronous HTTP call。 RoboSpice 自述文件中的第二个要点强调它“异步执行网络请求(在后台 AndroidService 中)”。那么为什么是同步的例子呢?回调在哪里?

我还注意到,链接到 RoboSpice 示例的 OkHttp 库是 v1.3,现在已经很古老了。 robospice-okhttp maven 库也好不到哪里去 - 链接到库的 v1.5.4。两者都使用同步 OkHttpSpiceRequest.open() 函数调用,该函数在 v1.6 中已弃用,在 v2.0 (RC) 中已删除。异步是在 v1.6 中首次引入的吗?

有没有人在 RoboSpice 中实现了对 OkHttp 的真正异步使用并获得了一些示例代码?如果没有,我有什么选择?

【问题讨论】:

    标签: android asynchronous robospice okhttp


    【解决方案1】:

    虽然 Robospice 使用 OkHttp 的阻塞 API,但它从后台线程使用它,而不是您将请求排队的那个。所以从应用程序的角度来看,Robospice 是异步的。

    OkHttp 2.0 将提供阻塞 API 和带有回调的异步 API。在幕后,回调 API 仍然每次调用使用一个线程。在 OkHttp 的未来版本中,我们计划通过在单个线程上调度多个调用来利用 SPDY 和 HTTP/2。

    【讨论】:

    • 如何将 Robospice 中的 SpiceException 和 RequestListener 替换为 okhttp
    猜你喜欢
    • 1970-01-01
    • 2011-10-14
    • 2016-04-30
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    相关资源
    最近更新 更多