使用HttpURLConnection的Android应用程序在connect()崩溃

时间:2012-07-12 18:48:26

标签: java android http url

我有一段代码,基本上是从示例中复制粘贴的,因为我是Java和Android的新手(不是编程):

      URL vurl = new URL(voteurl); //vuteurl is a string containing a proper URL
      HttpURLConnection hc;
      hc=null;
      hc = (HttpURLConnection)vurl.openConnection();
      hc.setRequestMethod("GET");
      hc.setDoOutput(true);
      hc.setReadTimeout(10000);
      hc.connect();

在“hc.connect();”行上应用程序崩溃,Android通知我它已被停止。 将android.permission.INTERNET添加到应用程序使用的权限中没有帮助。

2 个答案:

答案 0 :(得分:0)

好的,原来Android不喜欢主线程中的网络操作。 在单独的线程中执行请求可以解决问题。谢谢你的帮助!

答案 1 :(得分:0)

URL vurl = null;
    try {
        vurl = new URL(voteurl);
    } catch (MalformedURLException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } //vuteurl is a string containing a proper URL
    HttpURLConnection hc;
    hc=null;
    try {
        hc = (HttpURLConnection)vurl.openConnection();
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    try {
        hc.setRequestMethod("GET");
    } catch (ProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    hc.setDoOutput(true);
    hc.setReadTimeout(10000);
    try {
        hc.connect();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }