我正在寻找一个处理HTTP POST,multipart等的库。是否有一个事实上的标准库可以让这些请求在Android上更容易?
答案 0 :(得分:8)
查看DroidFu,特别是DroidFu HTTP components。它们是围绕Apache Commons HTTP的相当薄的包装器,但它们非常适合大多数需求。它包括一些细节,如可选的HTTP和模型缓存,甚至"为什么不是这种内置于平台"像GZip这样的东西。 (另外:android.net.AndroidHttPClient是对旧版本DefaultHttpClient内容的一个相当不错的升级,当你需要下拉以获得更多控制权时,但它只是Android 2.2+并且相当不足。)
如果你只是需要最小麻烦的多部分,你可以尝试android_multipart_post,虽然我从来没有尝试过。
编辑:
DroidFu现已停止使用。这些天如果我开始一个新项目我几乎肯定会使用Volley和OKHttp如果我需要更多控制(你甚至可以使用OKHttp作为凌空的传输层,如果你想做两件事。)
答案 1 :(得分:7)
使用Kevin Sawicki的http请求。 http://kevinsawicki.github.com/http-request/
答案 2 :(得分:7)
我最喜欢的是 Ion (完成,正在积极开发中)。它建立在AndroidAsync之上(如果您不需要Ion功能,则单独使用),Koushik Dutta。
答案 3 :(得分:6)
查看http://loopj.com/android-async-http/
概述说:基于Apache的HttpClient库构建的基于异步回调的Android Http客户端。所有请求都是在应用程序的主UI线程之外发出的,但任何回调逻辑都将在使用Android的Handler消息传递创建回调的同一线程上执行。
这个图书馆被Instagram,Pinterest,Heyzap等热门应用程序使用。
答案 4 :(得分:3)
如果您想使用keep alives和gzip,并且不想体验随机超时错误,那么您不能简单地使用一个库。
在9以下的Android SDK版本中,您将要使用apache库。在Android SDK版本9-13上,apache库存在问题(随机超时),您将要使用HttpUrlConnection。
不幸的是,在我对ICS的测试中,HttpUrlConnection真的很麻烦,你现在想要使用Apache库。
关于此主题的官方Google Post: http://android-developers.blogspot.com/2011/09/androids-http-clients.html
我在ICS上找到的问题: What android Http Client to use for Ice Cream Sandwich?
答案 5 :(得分:0)
我一直在做些什么。它使用处理程序和加载程序扩展loopj库,从而创建POJO。 https://github.com/MarkoMilos/android-http
答案 6 :(得分:-5)
是的。它叫做httpclient,Android上的javadoc根目录是http://developer.android.com/reference/org/apache/http/package-summary.html。它通过http实现您想要的一切,包括POST和multipart。