Frage

Wie verwende ich DefaultHttpClient in Android?

War es hilfreich?

Lösung

Ich schlage vor, die mit android-api gelieferten Tutorials zu lesen.

Hier ist ein zufälliges Beispiel, das DefaultHttpClient verwendet und durch einfache Textsuche im Beispielordner gefunden wird.

BEARBEITEN: Die Beispielquelle sollte nichts zeigen.Es hat nur den Inhalt der URL angefordert und als Zeichenfolge gespeichert.Hier ist ein Beispiel, das zeigt, was es geladen hat (solange es sich um String-Daten handelt, wie eine HTML-, CSS- oder Javascript-Datei):

main.xml

  <?xml version="1.0" encoding="utf-8"?>
  <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/textview"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
  />

in onCreate Ihrer App hinzufügen:

  // Create client and set our specific user-agent string
  HttpClient client = new DefaultHttpClient();
  HttpGet request = new HttpGet("http://stackoverflow.com/opensearch.xml");
  request.setHeader("User-Agent", "set your desired User-Agent");

  try {
      HttpResponse response = client.execute(request);

      // Check if server response is valid
      StatusLine status = response.getStatusLine();
      if (status.getStatusCode() != 200) {
          throw new IOException("Invalid response from server: " + status.toString());
      }

      // Pull content stream from response
      HttpEntity entity = response.getEntity();
      InputStream inputStream = entity.getContent();

      ByteArrayOutputStream content = new ByteArrayOutputStream();

      // Read response into a buffered stream
      int readBytes = 0;
      byte[] sBuffer = new byte[512];
      while ((readBytes = inputStream.read(sBuffer)) != -1) {
          content.write(sBuffer, 0, readBytes);
      }

      // Return result from buffered stream
      String dataAsString = new String(content.toByteArray());

      TextView tv;
      tv = (TextView) findViewById(R.id.textview);
      tv.setText(dataAsString);

  } catch (IOException e) {
     Log.d("error", e.getLocalizedMessage());
  }

In diesem Beispiel wird jetzt der Inhalt der angegebenen URL geladen (im Beispiel die OpenSearchDescription für Stackoverflow) und die empfangenen Daten in eine Textansicht geschrieben.

Andere Tipps

Hier ist ein allgemeines Codebeispiel:

DefaultHttpClient defaultHttpClient = new DefaultHttpClient();

HttpGet method = new HttpGet(new URI("http://foo.com"));
HttpResponse response = defaultHttpClient.execute(method);
InputStream data = response.getEntity().getContent();
//Now we use the input stream remember to close it ....

Von Google-Dokumentation

public DefaultHttpClient (ClientConnectionManager conman, HttpParams params)

Erstellt einen neuen HTTP-Client aus Parametern und einem Verbindungsmanager.

Parameter
"conman" der Verbindungsmanager,
"params" die Parameter

public DefaultHttpClient (HttpParams params)
public DefaultHttpClient ()

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top