1

これがhttpリクエストを行うためのサンプルコードですが、失敗します。これがLogCatに表示されるエラーログです。http://pastebin.com/56AL8Dxu<uses-permission android:name="android.permission.INTERNET"></uses-permission>マニフェスト にも追加しました。私を助けてください..Androidで単純なhttpリクエストを行うのは本当に難しいですか?私はAndroid開発を学んでいる.Netのバックグラウンドから来ました。

void testHTTP()
 {
  HttpClient httpClient = new DefaultHttpClient();

  HttpUriRequest request = new HttpPost("http://www.google.com");

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

   //System.out.println("response protocol version: " + response.getProtocolVersion());
  } catch (ClientProtocolException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }
4

2 に答える 2

5

Logcatログに記載されているように:

04-29 19:59:53.072:E / AndroidRuntime(546):android.os.NetworkOnMainThreadException

を実行testHTTP()します。これには、許可されていないメインスレッドでのネットワークが含まれます。バックグラウンドスレッドに移動するか、を使用しますAsyncTask

于 2012-04-29T14:37:39.267 に答える
1

OKBinyaminSharetは正しいです。Androidのドキュメントから引用します

アプリケーションがメインスレッドでネットワーク操作を実行しようとしたときにスローされる例外。

これは、Honeycomb SDK(3.0)以降を対象とするアプリケーションに対してのみスローされます。以前のSDKバージョンを対象とするアプリケーションは、メインのイベントループスレッドでネットワークを構築できますが、お勧めできません。応答性のための設計のドキュメントを参照してください。

于 2012-04-29T14:52:14.160 に答える