-2

您好朋友,我是 Web 服务的新手,只制作建立连接的简单应用程序。
下面是我的代码。

public class MainActivity extends Activity {

TextView text;
String ip = "http://developer.android.com/index.html";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    text=(TextView)findViewById(R.id.textView2);

    try{            
        URL url=new URL(ip);
        executeReq(url);

        text.setText("Connection Available");               
    }
    catch(Exception e){
        text.setText("Connectionn Failed");
    }
}

private void executeReq(URL url) throws IOException{

    HttpURLConnection con=(HttpURLConnection)url.openConnection();

    con.setReadTimeout(10000);
    con.setConnectTimeout(10000);
    con.setRequestMethod("GET");
    con.setDoInput(true);
    con.setRequestMethod("HEAD");               

    con.connect();                  
}

}

我还在清单文件中声明了权限,但我找不到错误。
请帮助我提前谢谢。

4

2 回答 2

0

此代码将触发NetworkOnMainThreadException. 尝试使用AsyncTask来实现这一点。

欲了解更多信息:http: //developer.android.com/training/basics/network-ops/connecting.html

于 2013-06-14T08:35:06.280 回答
0

这可能适用于 3.0 以上的 Android 固件,但现在不再处理了。

无论如何,AsyncTask 更好,它可以让您避免在尝试连接/发送对象等时冻结应用程序。

于 2013-06-14T08:41:22.117 回答