Android-Projekt mit httpclient --> http.client (apache), post - /get-Methode
Mache ich eine Get-und Post-Methode für ein android-Projekt, und ich brauche, um zu "übersetzen" HttpClient-3.x HttpClient 4.x (mit android).
Mein problem ist, dass ich nicht sicher bin, was ich getan habe und ich nicht finden, die "übersetzung" von einigen Methoden...
Dies ist die HttpClient-3.x habe ich gemacht und (-->) den HttpClient 4.x "übersetzung", wenn ich es gefunden habe (Nur Parteien, die mich Fragen, Probleme) :
HttpState state = new HttpState (); --> ?
HttpMethod method = null; --> HttpUriRequest httpUri = null;
method.abort(); --> httpUri.abort(); //httpUri is a HttpUriRequest
method.releaseConnection(); --> conn.disconnect(); //conn is a HttpURLConnection
state.clearCookies(); --> cookieStore.clear(); //cookieStore is a BasicCookieStore
HttpClient client = new HttpClient(); --> DefaultHttpClient client = new DefaultHttpClient();
client.getHttpConnectionManager().getParams().setConnectionTimeout(SOCKET_TIMEOUT) --> HttpConnectionParams.setConnectionTimeout(param, SOCKET_TIMEOUT);
client.setState(state); --> ?
client.getParams().setCookiePolicy(CookiePolicy.RFC_2109); --> HttpClientParams.setCookiePolicy(param, CookiePolicy.RFC_2109);
PostMethod post = (PostMethod) method; --> ?
post.setRequestHeader(...,...); --> conn.setRequestProperty(...,...);
post.setFollowRedirects(false); --> conn.setFollowRedirects(false);
RequestEntity tmp = null; --> ?
tmp = new StringRequestEntity(...,...,...); --> ?
int statusCode = client.executeMethod(post); --> ?
String ret = method.getResponsBodyAsString(); --> ?
Header locationHeader = method.getResponseHeader(...); --> ?
ret = getPage(...,...); --> ?
Ich weiß nicht, ob das richtig ist.
Dies verursacht Probleme, weil die Pakete nicht heißen ähnlich, und einige Methoden auch.
Ich brauche nur die Dokumentation (die ich nicht gefunden habe) und wenig Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier sind die HttpClient 4 docs, das ist das, was Android ist mit (4, nicht 3, wie der 1.0->2.x). Die Dokumente sind schwer zu finden (Dank Apache ;)), weil HttpClient ist jetzt Teil von HttpComponents (und wenn Sie nur auf der Suche nach HttpClient Sie wird normalerweise am Ende auf die 3.x-stuff).
Auch, wenn Sie eine beliebige Anzahl von Anfragen, die Sie nicht wollen, zu erstellen, die Kunden immer und immer wieder. Eher, als die tutorials für HttpClient Hinweis, erstellen der client einmal und halten Sie es um. Von dort aus benutzen Sie die ThreadSafeConnectionManager.
Verwende ich eine helper-Klasse, zum Beispiel so etwas wie HttpHelper (das ist noch ein bewegliches Ziel - ich Plane zu gehen, um seine eigene Android-util-Projekt, und die Unterstützung von binären Daten, habe nicht bekommen es noch), um dabei zu helfen. Die helper-Klasse erzeugt der client, und hat die Bequemlichkeit der wrapper-Methoden für get/post/etc. Überall VERWENDEN Sie diese Klasse von einem Aktivität, sollten Sie erstellen eine interne innere AsyncTask (so dass Sie nicht blockieren den UI Thread während der Anfrage), zum Beispiel:
Der einfachste Weg, um meine Frage zu beantworten ist, zeigen Ihnen die Klasse, die ich gemacht habe :
Ich verwendet dieses tutorial zu tun, mein post-Methode und thoses Beispiele
Gut, Sie finden die Dokumentation auf, dass die version von
HTTPClient
hier; es ist besonders nützlich, um zu gehen durch die Beispiel-Szenarien Sie stellen.Ich leider nicht wissen, die version 3 des
HTTPClient
so kann ich nicht geben direkte äquivalenzen; ich schlage vor, Sie nehmen, was Sie zu tun versuchen, und schauen Sie durch Ihr Beispiel-Szenarien.