当前位置: 首页 > 面试题库 >

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

龙佐
2023-03-14
问题内容

作为开始使用Android的iOS开发人员,我遇到了Retrofit。我了解如何实现同步请求,但是在通过成功/失败回调实现异步请求时遇到了麻烦。具体来说,我不清楚Callback语法,在Retrofit
网站,介绍Retrofit 的Square
博客文章或我所见过的其他地方都没有具体的示例。有人可以在此发布一些示例代码吗?我在改造仓库中提出了一个问题,要求他们使用此信息更新自述文件。


问题答案:

经过更多的研究并且只是在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);


 类似资料:
  • 作为一名开始使用Android的iOS开发者,我遇到了改型。我知道如何实现同步请求,但在使用成功/失败回调实现异步请求时遇到了问题。具体来说,回调语法对我来说并不清楚,在改型网站、介绍改型的方形博客帖子或我见过的其他地方,都没有具体的例子来说明如何做到这一点。有人能在这上面贴些示例代码吗?我在翻新回购中提出了一个问题,要求他们用这些信息更新自述文件。

  • 例如 原因: 我想我必须禁用gson解析到POJO中,但不知道如何做到这一点。

  • 问题内容: 如何从异步函数返回值?我试图喜欢这个 它给了我, 问题答案: 您不能超出范围。为了获得预期的结果,您应该将其包装到异步IIFE中,即 样品。 有关更多信息 由于返回一个Promise,因此可以将其省略,如下所示: 然后像以前一样做

  • 问题内容: 这是一个通用的问题。我并不是在寻找最佳答案,而是希望您表达自己喜欢的做法。 我想用Java实现网络协议(但这是一个相当普遍的问题,我在C ++中也遇到了同样的问题),这不是我第一次这样做,这不是第一次。但是我认为我缺少实现它的好方法。实际上,通常所有这些都是关于在主机之间交换文本消息和一些字节缓冲区,存储状态并等待下一条消息到来的。问题是,我通常会遇到很多麻烦,如果if语句对不同的状态

  • 我正在用JNI异步执行测试Rust。我想在Rust中执行请求,并用回调将结果异步返回到Android。我正在测试代码来执行命令行中的请求,它工作得很好。 这就是它在命令行上的工作方式: null null 我正在检查它是如何工作的,但示例似乎已经过时:*https://github.com/mozilla/rust-android-gradle/blob/master/samples/rust/s

  • 我使用Retrofit为我的REST API实现了一个Java客户端。客户端是一个简单的java应用程序,而不是Android应用程序。如何为我的Java客户端编写单元测试?以下是我的服务类之一。