使用Retrofit

时间:2015-12-01 07:08:30

标签: android retrofit

有没有办法在同一个活动中调用2个不同的端点,并在" Onrespond"中找到结果?

我的意思是这样的:

在MainActivity中(例如)我称之为:

Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://robinchutaux.com")
.addConverterFactory(GsonConverterFactory.create())
.build();

Call<JsonElement> call = stackOverflowAPI.loadQuestions("/Blog/posts");
call.enqueue(this);

并获得呼叫响应&#34; onResponse&#34;方法

但是,如果我也需要调用此页面呢? (甚至更像是10个不同的终点):

&#34; /博客/术语#34;

我应该创建另一个像Call2 ......?

如果是,我怎样才能找到Onrespond中新呼叫的响应? 你能帮我吗? 谢谢。 PS:我知道我的问题来自于我缺乏信息,我是Retrofit的新手。

1 个答案:

答案 0 :(得分:1)

您可以查看example

该类中的接口代表每次调用。

public interface GitHub {
    @GET("/repos/{owner}/{repo}/contributors")
    Call<List<Contributor>> contributors(
        @Path("owner") String owner,
        @Path("repo") String repo);
  }

上述课程正在使您的同步通话。因为它有回调对象作为参数。

public interface GitHub {
        @GET("/repos/{owner}/{repo}/contributors")
        Call<List<Contributor>> contributors(
            @Path("owner") String owner,
            @Path("repo") String repo),
            Callback<List<Contributor>> callback;
      }

如果你像这样添加你的回调,它将是异步调用。因此,您不需要打开自己的线程并轻松获得响应。

同时确保您的Retrofit对象为单个实例单身。

祝你好运。