如何在dobackground中调用Retrofit(AysncTask类)

时间:2016-07-14 21:26:07

标签: android retrofit

我最近改用Retrofit,对改造概念很新。我发现了它Here,发现它很有趣,让我的工作更轻松,更简单。

根据规则,任何HTTP请求必须在AsyncTask扩展类中,  从上面的教程我发现改进调用是在主UI线程本身。

我发现很难在AsyncTask类中实现相同的教程。我怎么能这样做?

请帮助我,因为每次改装调用我的应用程序投注较慢,我跳过帧1076。

2 个答案:

答案 0 :(得分:0)

retrofit2中有2个方法,第一个是同步调用请求的执行方法。第二种是排队方法,它将异步地发出请求。

答案 1 :(得分:0)

  

根据规则,任何HTTP请求必须位于AsyncTask扩展类

您误解了 - 网络请求无法在UI线程上运行。 AsyncTask恰好是这样做的一种方式。 Retrofit / OkHttp是另一个,Volley和AsyncHttpClient是其他人。

  

我发现很难在AsyncTask类中实现相同的教程

可能是因为该教程专门针对Retrofit?

  

我该怎么做?

高级概述了Retrofit为您提供的在AsyncTask中必须抛弃的内容

  • 构建HTTP请求
  • 添加HTTP标头(如果需要)
  • 将InputSteam读取为字符串
  • 字符串到JSON转换
  • JSON到Java对象转换
  • 回调主线程

现在,如果你真的不明白那些东西,那一切看起来都很复杂。话虽如此,你应该坚持使用Retrofit的enqueue