2011-12-06 14 views
0

AndroidHttpClientを使用してコードからIOExceptionを取得しています。コードに何か問題がありますか? port 80またはport 443を使用するか、Http Schema httpまたはhttpsを使用するかに関係なく、コードはスローされます。AndroidHttpClientに関する問題

例外はclient.executeにスローされました...それはUnknownHostException例外です。なぜわからないのですか?私はブラウザからサービスを打つことができます。

 // declare locals 
    JSONObject joResponse = new JSONObject(); 
    String response = ""; 

    try 
    { 
     // prepare to execute 
     HttpHost target = new HttpHost(hostname, Const.HTTP_PORT, Const.HTTP_SCHEME); 
     HttpGet get = new HttpGet(); 
     ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
     AndroidHttpClient client = AndroidHttpClient.newInstance(null); 

     // execute 
     response = client.execute(target, get, responseHandler); // this is where the exception is thrown 

     joResponse = new JSONObject(response); 
    } 
    catch (ClientProtocolException e) 
    { 
    } 
    catch (IOException e) 
    { 
    } 
    catch(Exception e) 
    { 
    } 
+0

に次の行を追加する必要があります。これは 'adb -logcat'から利用できるはずです。 – Gray

+0

@Gray例外を含むように質問を更新しました。 'e.printStackTrace'はe = nullなので' Nullpointer'を投げます。 – Cody

+0

'UnknownHostException'は' IOException'です。そこで 'e.printStackTrace()'を入れ、 'e'がnullだったのですか?これはJVMの観点からは不可能です。それが捕まえられた場合、それはヌルではありません。 – Gray

答えて

1

あなたのアプリで宣言されているインターネットアクセス許可を持っていますか?

あなたはあなたの問題のスタックトレースでそれを一緒に表示するためのベストプラクティスであるあなたは、例外を取得している場合は、あなたのAndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
+0

はい、持っています。 – Cody