webentwicklung-frage-antwort-db.com.de

Was ist die robusteste HTTP-Bibliothek für Android?

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?

18
hunterp

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 ).

8
Yoni Samlan

Verwenden Sie die http-Anfrage von Kevin Sawicki. http://kevinsawicki.github.com/http-request/

7
Donn Felker

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 .

  • Asynchron herunterladen
  • Einfach zu bedienende Fluent API für Android
  • HTTP POST/PUT
  • Transparente Verwendung von HTTP-Funktionen und -Optimierungen
  • Erhaltene Header anzeigen
  • Gruppierung und Stornierung von Anfragen
  • Laden Sie die Rückrufe für den Fortschritt herunter
  • Unterstützt Datei: /, http (s):/und content:/URIs
  • Protokollierung und Profilierung auf Anforderungsebene
  • Unterstützung für Proxyserver wie Charles Proxy für die Anforderungsanalyse
  • Basierend auf NIO und AndroidAsync
  • Möglichkeit zur Verwendung selbstsignierter SSL-Zertifikate
7
caligari

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.

6
Bakyt

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?

3
radiofrequency

Ich habe etwas getan. Es erweitert die Loopj-Bibliothek um Handler und Loader, die POJOs erstellen. https://github.com/MarkoMilos/Android-http

0
MarkoMilos