Android 网络库的比较:OkHTTP、Retrofit 和 Volley [关闭]

2023-11-24

一位正在学习 Android 的 iOS 开发人员提出的问题分为两部分:

  1. 在iOS上我用过AF网络项目广泛。 Android 有等效的库吗?

  2. 我读过OkHTTP and Retrofit由广场,以及Volley但还没有与他们一起开发的经验。我希望有人能为每个人提供一些最佳用例的具体示例。据我所知,OkHTTP 似乎是这三个中最强大的,并且可以满足该项目的要求(如上所述)。


我希望有人能为每个人提供一些最佳用例的具体示例。

如果您正在与 Web 服务通信,请使用 Retrofit。如果您要下载图像,请使用同行库 Picasso。如果您需要执行 Retrofit/Picasso 之外的 HTTP 操作,请使用 OkHTTP。

Volley大致与Retrofit+Picasso竞争。从好的方面来说,它是一个图书馆。不利的一面是,它是一个一个未记录的、一个不受支持的“将代码扔到墙上并对其进行 I|O 演示”的库。

编辑 - Volley 现在得到 Google 的正式支持。请参考谷歌开发者指南

据我所知,OkHTTP 似乎是 3 个中最强大的

如果可用,Retrofit 会自动使用 OkHTTP。有一个杰克·沃顿的要点将 Volley 连接到 OkHTTP。

并能够处理该项目的要求(如上所述)。

根据“流媒体”的传统定义,您可能不会使用它们中的任何一个来进行“音频和视频的流媒体下载”。相反,Android 的媒体框架将为您处理这些 HTTP 请求。

话虽这么说,如果您打算尝试自己进行基于 HTTP 的流式处理,OkHTTP 应该可以处理这种情况;我不记得 Volley 会如何处理这种情况。 Retrofit 和 Picasso 都不是为此而设计的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 网络库的比较:OkHTTP、Retrofit 和 Volley [关闭] 的相关文章

随机推荐

  • 物化视图和表同名

    我有点理解物化视图并且以前曾与它们合作过 最近出现了一个问题 为什么特定报告没有显示最新数据 我调查了这个问题 显然 他们之前有一个加载了 crontab 的临时表 后来切换到了物化视图 当我使用以下查询查看数据库时 表名称已更改 SELE
  • 如何在wp7中设置可点击的文本块中的链接

    我有一个包含链接的文本框 文本中的内容是在运行时生成的 我的问题是文本内的链接不可单击 如何使文本块内的所有链接可单击 以便当我点击链接时它应该打开网络浏览器 在android中 我们可以使用自动链接来设置它 这样的选项在wp7或wp7 1
  • 如何使用动态 OR 语句构建 Linq 查询?

    以下代码 var dynamicQuery from a in context Users select a string args new string aa bb cc foreach string word in args dynam
  • 内部可变性如何影响缓存行为?

    我正在尝试创建一个struct这需要一个Path并根据需要从指定路径加载图像 这是我到目前为止所拥有的 extern crate image use std cell RefCell use std path Path use image
  • 如何在 swagger codegen 中注入自定义 spring 验证?

    我们能够使用 openApi 文档并使用 spring swagger codegen 生成 Java 输入类 此外 我们可以在为常见约束 如长度 强制等 生成输入时注入 javax validation 注释 我希望将其提升到下一个自定义
  • 用jquery查找并替换文本,只有文本没有子元素

    我想用 jquery 查找并替换文本 我想将 SKU 更改为 art nu span class sku wrapper SKU span class sku 5 144 span span I tried product meta gt
  • AWS SNS 创建超时

    我有 Lambda 函数 在调用时它会创建 SNS 主题 向其添加订阅者 然后向其发布消息 发布消息后 它会删除该主题 要创建的主题的名称和订阅者作为负载提供给 lambda 函数 有时有效 有时失败Task timed out after
  • 我可以阻止 iOS 用户更改日期和时间吗?

    我想为公司员工部署托管 iOS 设备 他们将使用的应用程序将为数据添加时间戳 这些数据将在本地记录 然后转发 我需要这些时间戳是正确的 因此我必须防止用户调整设备上的时间 记录值 然后重置日期和时间 日期和时间将配置为自动来自网络 但设备可
  • Android 推送通知未使用 webview 打开我的活动

    我按照本教程创建了一个推送通知应用程序 http www vogella com articles AndroidCloudToDeviceMessaging article html 它有效 当我收到通知时 我可以打开一个网站 但是 我可
  • 实时聊天并带有推送通知

    我正在为我的网站开发私人消息传递功能 有没有办法从服务器获取用户已收到新消息的推送通知 我知道的唯一技术是通过 ajax 不断轮询服务器以查看是否有新消息 并在需要时重新加载消息窗口 感谢您的任何反馈 UPD 到目前为止 已经确定了以下方向
  • 使用 @EmbeddedId 在复合键上通过 @GenerateValue 生成 NULL ID

    尝试通过 Spring Data JPA 在具有组合键 长整型和日期 的表中保存一行 组合键的 Long 部分是 GenerateValue 但在进行基本操作时出现以下错误save call org hibernate id Identif
  • Ruby on Rails:/bin/sh:rspec:找不到命令

    我目前正在学习 Michael Hartl 的 RoR 教程 并且在尝试运行 Spork 和 Guard 时陷入了第 3 章 当尝试运行测试时 我得到 bin sh rspec command not found 是的 我确实四处寻找答案
  • 今天 8:21 推送后,dialog/oauth API 出现错误 500

    我们的应用程序在此调用中收到错误 500 有谁知道有什么问题吗 有一个解决方法 只需将 www facebook com 替换为 m facebook com Facebook 似乎已经放弃了对旧 API KEY 的支持 如果您查看应用程序
  • 显示名称属性与显示属性

    有什么区别DisplayName属性和DisplayASP NET MVC 中的属性 DisplayName设置DisplayName在模型元数据中 例如 DisplayName foo public string MyProperty g
  • Jquery 中的鼠标事件

    基本上 我有这个带有左右箭头按钮的图像 该图像默认是我从某些 gif 中提取的第一帧 原始 gif 包含 31 帧 我的目标是当用户单击向右箭头按钮时 我想显示下一帧等等 一切都运行良好 如下面的代码所示 但是 我需要添加一些鼠标按住事件
  • 保存网页以供离线使用并调用相同的 android

    我有一个 Android 应用程序要求 我需要打开保存的网页 如何做同样的事情 首先 我们如何保存一个网页及其对Android的依赖 然后在您的应用程序中打开它 任何输入都会有很大帮助 首先我们先保存一下网络档案 from webview
  • 仅返回 Task 而不是 Task 的方法会返回什么?

    我从什么返回D4 async static Task D4 Console Write Enter the divisor var n int Parse Console ReadLine Console WriteLine 24 n To
  • 使用flask-bcrypt生成和验证密码哈希

    所以我最近学习了如何在数据库中存储密码 即通过向明文密码添加盐 对其进行散列 然后存储散列 我正在开发一个非常小的 Flask 应用程序来尝试所有这些 但我在密码散列和检查过程的部分方面遇到了问题 似乎我最终得到了相同输入的两个不同的哈希值
  • Postgresql 中 SQL Server 的“stuff”和“for xml path('')”

    我正在将一些 SQL Server 2008R2 查询迁移到 Postgresql 9 0 但遇到了一些问题 这是 SQL Server 查询 stuff select p NAME as data from BPROVIDERS PROV
  • Android 网络库的比较:OkHTTP、Retrofit 和 Volley [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 一位正在学习 Android 的 iOS 开发人员提出的问题分为两部分 在iOS上我用过AF网络项目广泛 Android 有等效的库吗 我读过OkH