Ich bin auf der Suche nach einer Bibliothek, die HTTP POST, Multipart usw. verarbeitet. Gibt es eine De-facto-Standardbibliothek, um diese Anforderungen für Android zu vereinfachen?
Werfen Sie einen Blick auf DroidFu und insbesondere auf die DroidFu HTTP-Komponenten . Sie sind ein ziemlich dünner Wrapper für das HTTP-Material von Apache Commons, aber sie passen den meisten Anforderungen ziemlich gut. Es beinhaltet einige Feinheiten wie optionales HTTP- und Modell-Caching und sogar "Warum ist das nicht in die Plattform integriert", wie GZip. (Nebenbei: Android.net.AndroidHttPClient ist ein ziemlich gutes Upgrade für ältere Standard-Default-HttpClient-Sachen, wenn Sie ein wenig mehr Kontrolle benötigen, aber es ist nur Android 2.2+ und ziemlich unterbesetzt).
Wenn Sie nur ein Multipart mit minimalem Aufwand benötigen, können Sie Android_multipart_post versuchen, obwohl ich es noch nie probiert habe.
BEARBEITEN:
DroidFu ist jetzt eingestellt. Wenn ich heute ein neues Projekt startete, würde ich fast sicher Volley , mit OKHttp verwenden, wenn ich mehr Kontrolle brauchte (Sie können sogar OKHttp als Transportschicht für Volley verwenden, wenn Sie beides wollen ).
Verwenden Sie die http-Anfrage von Kevin Sawicki. http://kevinsawicki.github.com/http-request/
Mein Favorit istIon(komplett, unter aktiver Entwicklung). Es ist auf AndroidAsync aufgebaut (um alleine zu verwenden, wenn Sie keine Ion-Funktionen benötigen), beide von Koushik Dutta .
Werfen Sie einen Blick auf http://loopj.com/Android-async-http/
Überblick sagt: Ein asynchroner Callback-basierter HTTP-Client für Android, der auf den HttpClient-Bibliotheken von Apache aufbaut. Alle Anforderungen werden außerhalb des Haupt-UI-Threads Ihrer App gestellt. Die Callback-Logik wird jedoch in demselben Thread ausgeführt, in dem der Callback unter Verwendung der Handler-Nachrichtenübergabe von Android erstellt wurde.
Diese Bibliothek wurde von beliebten Apps wie Instagram, Pinterest, Heyzap usw. verwendet.
Wenn Sie "Keep Alives" und "GZIP" verwenden möchten und keine willkürlichen Timeout-Fehler feststellen möchten, können Sie leider nicht einfach eine Bibliothek verwenden.
Bei Android-SDK-Versionen unter 9 sollten Sie die Apache-Bibliothek verwenden. In den Android SDK-Versionen 9-13 sind in der Apache-Bibliothek Probleme (zufällige Timeouts) aufgetreten, und Sie möchten HttpUrlConnection verwenden.
Leider ist in meinen Tests auf ICS HttpUrlConnection wirklich ein Fehler aufgetreten, und Sie möchten die Apache-Bibliothek vorerst verwenden.
Offizieller Google Post zum Thema: http://Android-developers.blogspot.com/2011/09/androids-http-ients.html
Problem, das ich auf ICS gefunden habe: Welchen Android HTTP-Client für Ice Cream Sandwich?
Ich habe etwas getan. Es erweitert die Loopj-Bibliothek um Handler und Loader, die POJOs erstellen. https://github.com/MarkoMilos/Android-http