Ich verwende Android SDK 2.2 und teste meine Anwendung mit dem Emulator. Ich möchte einen HTTP-Beitrag senden. Wenn ich das tue, bekomme ich eine UnknownHostException. Ich habe die erforderlichen Berechtigungen
<uses-permission android:name="android.permission.INTERNET" /
> platziert
in die Datei manifest.xml eingefügt. Außerdem kann ich den Browser im Emulator öffnen und problemlos zur URL navigieren.
Hier ist mein Code:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost( uri );
HttpResponse response = null;
try
{
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
2 );
nameValuePairs.add( new BasicNameValuePair( "id", "edit-name" ) );
nameValuePairs
.add( new BasicNameValuePair( "stringdata", userName ) );
httppost.setEntity( new UrlEncodedFormEntity( nameValuePairs ) );
// Execute HTTP Post Request
response = httpclient.execute( httppost );
// Log.i( "HttpManager:", "======> response: "
// + response.getEntity().getContent() );
}
catch (ClientProtocolException e)
{
Log.e( "HttpManager", "ClientProtocolException thrown" + e );
}
catch (IOException e)
{
Log.e( "HttpManager", "IOException thrown" + e );
}
} catch(Exception e) { System.out.println("Error:"+e); } catch (ClientProtocolException e) { Log.e( "HttpManager", "ClientProtocolException thrown" + e ); } catch (IOException e) { Log.e( "HttpManager", "IOException thrown" + e ); }
Dies zeigt den Fehler als bereits behandelte Ausnahme an.