如何使用Square的Retrofit网络库实现异步回调

时间:2013-06-10 23:34:56

标签: java android networking asynchronous retrofit

作为一名开始使用Android的iOS开发人员,我遇到了Retrofit。我理解如何实现同步请求,但是在使用成功/失败回调实现异步请求时遇到了问题。具体来说,回调语法对我来说并不清楚,并且没有关于如何在Retrofit website,Square blogpost引入Retrofit或我见过的其他地方执行此操作的具体示例。有人可以发一些示例代码吗?我在Retrofit repo中提出了一个问题,要求他们用这个信息更新README。

1 个答案:

答案 0 :(得分:54)

经过一些更多的研究,只是花了更多的时间在Android / Java世界中,我想出了这一点,使用他们的文档中的示例。

接口:

@GET("/user/{id}/photo")  
void listUsers(@Path("id") int id, Callback<Photo> cb);

实现:

RestAdapter restAdapter = new RestAdapter.Builder()
            .setServer("baseURL")     
            .build();
ClientInterface service = restAdapter.create(ClientInterface.class);

Callback callback = new Callback() {
    @Override
    public void success(Object o, Response response) {

    }

    @Override
    public void failure(RetrofitError retrofitError) {

    }
};
service.listUsers(666, callback);