1

開発ボックスのVisualStudioで実行されているASP.NETWebAPIサービスが機能しています。次のように入力すると、IEまたはFireFoxから適切な結果を簡単に取得できますhttp://localhost:61420/api/products。しかし、AVDを使用してAndroidプロジェクトから読み込もうとすると、次のような例外がスローされます。

localhost / 127.0.0.1:61420-接続が拒否されました。

Webサイト(現在コメントアウトされているURL)で実行されているWCF RESTFulサービスにアクセスできるため、AndroidJavaコードが機能することはわかっています。私のAndroidコードは以下に貼り付けられています。

では、Eclipseプロジェクトからアクセスするとエラーが発生するのに、ブラウザーからアクセスするとエラーが発生しないのはなぜですか?ありがとう

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    HttpURLConnection urlConnection = null;

    try 
    {
        //URL url = new URL("http://www.deanblakely.com/myRESTService/SayHello");
        URL url = new URL("http://localhost:61420/api/products");
        urlConnection = (HttpURLConnection) url.openConnection();
        InputStream in = new BufferedInputStream(urlConnection.getInputStream());     
        String myString = readStream(in);
        String otherString = myString;
        otherString = otherString + " ";
    } 
    catch (MalformedURLException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 
    catch (IOException e) 
    {   
        e.printStackTrace();
    }
    finally 
    {     
        urlConnection.disconnect();   
    } 
}

private String readStream(InputStream is) 
{ 
    try
    { 
        ByteArrayOutputStream bo = new ByteArrayOutputStream(); 
        int i = is.read();

        while(i != -1)  
        { 
            bo.write(i); 
            i = is.read(); 
        } 

        return bo.toString(); 
    } 
    catch (IOException e)  
    { 
        return "" + e; 
    } 
} 
} 
4

3 に答える 3

2

Visual Studio 開発 Web サーバーは、ローカル ホストからの接続のみを受け入れ、ネットワークやその他の仮想接続を介した接続は受け入れません。AVD がリモート ホストとして認識されているようです。

于 2012-12-12T21:15:43.677 に答える