如何在改造1.9中执行同步api调用

时间:2016-01-10 05:06:27

标签: android retrofit

我在同步调用api时遇到android.os.NetworkOnMainThreadException异常。我不能使用异步调用,因为我有很多api,下一个api依赖于先前api调用的输出。

怎么办?

1 个答案:

答案 0 :(得分:1)

在retroft界面中声明方法如下:

  

@GET( “/ V1 / USER_INFO /(编号)”)
  UserSummaryResponse getSummary(@Path(“id”)   字符串uId);

您需要在网络请求中启动一个新线程,并且不要忘记尝试捕获。

    new Thread(new Runnable() {
      @Override
      public void run() {
      try {
        GetSummaryResponse summaryResponse = HttpClientManager.getInstance().userInterface.getSummary(uId);
        userInfo = summaryResponse.userInfo;
                            setupUserInfo();
      } catch (Exception e) {
        withoutException = false;
        Log.e(getTag(), e.getMessage());
      }

 }}).start();
相关问题