Ich verwende DefaultHttpClient
in meiner aktuellen App.
Ich habe diesen Artikel gelesen, der besagt, dass DefaultHttpClient
veraltet ist: http://developer.Android.com/reference/org/Apache/http/impl/client/DefaultHttpClient.html
Es verweist auf diese Website: http://Android-developers.blogspot.com/2011/09/androids-http-clients.html?m=1 die 2011 zu alt und geschrieben ist.
Ich verwende DefaultHttpClient
und folge diesem Artikel, der Apaches HttpClient
verwendet: http://loopj.com/Android-async-http/
Ich frage mich, ob dies der richtige Weg ist, wenn Sie 2015 auf Android API 19 und höher programmieren.
Ok, ich habe eine Woche gewartet und so viele Nachforschungen angestellt. Ich glaube, ich habe die Antwort gefunden.
Ich empfehle Anfängern und sogar professionellen Android-Programmierern dringend, die Existenz einer sehr hilfreichen Bibliothek namens Retrofit zu kennen:
Ausführliches Dokument ist unter http://square.github.io/retrofit/ vorhanden.
Der Stack-Überlauf enthält auch Beispiele für fast alles, was Sie über ein Netzwerk tun müssen, um einen Remote-Dienst REST zu kontaktieren.
Es ist besser, auf HttpURLConnection und AsyncTask zu verzichten. Retrofit ist wesentlich schneller und unterstützt alle Ausfallsituationen sofort.
Neben der Verknüpfung zu diesem Blog empfehlen die docs die Verwendung von URL.openConnection , die seit API Level 1 verfügbar ist.
Sie sollten zu HttpURLConnection wechseln. Es erfordert etwas mehr Code, aber nicht so sehr ... In SDK 22 wurde HttpClient bereits als veraltet eingestuft, und selbst wenn Sie SDK 19 als Ziel verwenden, werden beim Kompilieren mit 22 Warnungen angezeigt.
Nur Spekulationen (kann dafür jetzt keine Quelle finden), aber ich denke, dass sie in den veralteten Bibliotheken keine Korrekturen vornehmen werden, so dass Sicherheitsprobleme oder Fehler nicht behoben werden.
Option 1: Volley
Android 1.6 (API Level 4) oder höher
Volleys Vorteile:
Option 2: OkHttp
OkHttp unterstützt Android 2.3 und höher. Für Java ist die Mindestanforderung 1.7.
Einige der in der Dokumentation aufgeführten Funktionen:
Es ist an der Zeit, auf OkHttp umzuschalten, wodurch HTTP effizienter und schneller wird und Bandbreite eingespart wird. Es unterstützt sowohl synchrones Blockieren als auch asynchrone Aufrufe mit Rückrufen.
OkHttp unterstützt Android 2.3 und höher.
Fügen Sie Ihrem Android-Projekt die folgende Abhängigkeit hinzu.
compile 'com.squareup.okhttp:okhttp:2.4.0'