1

JavaAndroidプログラムからhttpWebサイトに接続しようとしています。私はこのコードを試しています。しかし、どうやら、コードは「client.execute()」ステートメントを通過しません。実行後にreturnステートメントにコメントしましたが、それは渡されません。私は何かが足りないのですか?

私はかなり同じコードを試しましたが、機能しませんでした。そのため、まったく同じコードをNewbostonからコピーしましたが、それでも機能しません。

(ニューボストンからのコード。)

前もって感謝します。

public class GetMethodEx {

public String getInternetData() throws Exception{
    BufferedReader in=null;
    String data=null;

    try{
        HttpClient client=new DefaultHttpClient();
        URI website=new URI("http://www.mybringback.com");
        HttpGet request=new HttpGet();
        request.setURI(website);

        HttpResponse response=client.execute(request);

    //  if(data==null)
    //      return "bfdvhf";

        in =new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

        StringBuffer sb=new StringBuffer("");
        String l="";
        String nl=System.getProperty("line.separator");

        while((l=in.readLine())!=null){
            sb.append(l + nl);
            return "hfeuhfuie";

        }
        in.close();
        data=sb.toString();
        return data;
    }finally{
        if(in!=null)
        {
            try{
                in.close();
                return data;

            }
            catch(Exception e){
                e.printStackTrace();

            }

        }
    }


}

}

4

1 に答える 1

2

アプリがクラッシュしたり、例外がスローされたりしexecute()ますか? その場合、NetworkOnMainThreadException例外が発生する可能性が高くなります。これは、UI スレッドでのネットワークに関連しています (つまり、Activity クラスで直接ネットワークに接続しようとしています)。ネットワークを分離し、このコードを非同期で実行する必要があります (通常はIntentServiceまたはを使用AsyncTask)。

詳細については、この記事を参照してください。

ところで:次回は常に質問とともにlogcat出力を投稿してください

于 2012-11-22T23:15:47.773 に答える