【发布时间】:2012-07-12 14:28:18
【问题描述】:
我有以下一段代码,基本上是从示例中复制粘贴的,因为我是 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 添加到应用程序使用的权限没有帮助。
【问题讨论】:
-
你能添加崩溃的堆栈跟踪吗?
-
显示的代码是否包含在 try/catch 块中?
-
查看 logcat 输出,里面肯定有更多关于异常的信息
-
你是在主线程上执行这个网络操作吗?如果是这样,您可能会遇到 NetworkOnMainThreadException。正如其他人所说,请从 logcat 发布堆栈跟踪。
-
Android 不会让你在较新版本的主线程上进行网络操作,因为存在网络操作太慢并锁定你的设备的风险,因为主线程正在等待完成在执行另一项任务之前。