Android的替代HTTP客户端库

5

我正在寻找一款替代SDK中已包含的HTTP客户端库的工具。但我目前还没有找到任何合适的替代品。有人知道有哪些可用的替代品吗?这些替代品不必开源。


也许如果您解释一下为什么内置库不适合您的要求,会有人能够建议一个满足您需求的库。 - Mark Allison
没错,唯一需要使用另一个httpClient的情况是当你进行多部分上传时(在这种情况下,你可以添加mime库并仍然使用android http客户端),或者当前http Client库中存在任何错误。使用http客户端的替代方法是更基本的实现,即url连接。http客户端只是使连接处理比url连接更容易。 - DArkO
同时,添加不必要的库只会增加应用程序的大小。 - DArkO
我不想讨论我需要这个库的原因。那些原因已经在许多其他帖子中涵盖了。此时此刻,我只对寻找另一种替代库感兴趣。 - Johann
3个回答

6

Android自带的HttpClient存在许多问题,但这些问题已经在HttpClient 4.1中得到了解决。Dirk Boye编写了一个脚本,将HttpClient 4.1源代码转换为适用于Android的安装包。您可以在此处找到一些预打包的jar文件和他的脚本:https://code.google.com/p/httpclientandroidlib/


这个库的文档在哪里?我发现一些类都找不到了。 - Ratul Doley

2
您可以在Android中使用不同的选项来管理网络:
  1. OkHttp(需要Okio)+ Volley + Gson:这是一种常见的JSON REST解决方案。您可以单独使用这些工具,因此例如,如果您不需要JSON序列化/反序列化,则可以仅使用OkHttp + Volley(其中OkHttp是Http客户端,而Volley是REST库/助手,提供了一种轻松的方式来加载图像)。如果您只想要替代Http客户端,可以使用现在最好的OkHttp(+Okio)。OkHttp需要Okio(您也可以单独使用),并且是“补充java.io和java.nio的库,使访问、存储和处理数据变得更加容易”。您可以在此处找到有关此解决方案的更多信息。

  2. OkHttp(需要Okio)+ Retrofit + Moshi + Picasso。此选项与前一个选项几乎相当。Retrofit可与Volley相媲美,Moshi可与Gson相媲美,Picasso则是图像加载部门。所有这些东西主要由同一组人开发,并且全部绑定在一起就像个魅力。 点击此处了解更多信息。

  3. ION是一个非常好的库,试图处理选项1和2中提到的许多问题(Http客户端、REST助手,也使用Gson并加载图像)。最好看一下这个。

  4. Android Async Http:我没有尝试过,也没有任何有关它的信息,但看起来可能值得一看。

我认为选项1正在被选项2所取代。选项3有很多粉丝,基本上由一个(令人敬畏的)人开发,但提供了许多您可能不会使用的东西。这就是Square团队(选项2背后的人们)将所有内容分成5个不同的库的原因。我对选项4无法说太多。我可能很快会查看它。

值得一提的是Glide,这可能是(谷歌收购的)Bumptech团队开发的最佳图像加载库。

一个人正在开发Okio/OkHttp,曾在谷歌负责SDK http客户端开发,还参与过Gson和Moshi的开发。这就是为什么我现在更倾向于选项2的原因,人们每天都在做更好的事情,或者至少不会更差。


1

OkHttp由Square开发,是一个很好的替代品。
Volley由Google开发,设计也非常出色。


OkHttp和Volley没有相同的目标。Volley是一个REST辅助库,而OkHttp是一个Http客户端。实际上,OkHttp + Volley通常被绑定在一起,你可以在这里看到https://goo.gl/nl2DfN - Sotti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接