我正在使用
连接到网络服务 urlConnection.connect();
这仅适用于AsyncTask。我无法在普通活动上执行上述语句(没有AsyncTask)
是设计行为,还是我遗漏了什么。
顺便说一下,这是我的第一个问题
答案 0 :(得分:2)
欢迎使用stackoverflow。请在发布问题前使用谷歌搜索和stackoverflow搜索。这些人很大,其他人已经问过你的问题了。 stackoverflow rules
网络通信必须在android的seprate Thread中完成。 请在此处详细了解developer wiki
答案 1 :(得分:1)
你可能会得到:
var i = 30;
function startTimer() {
var countdownTimer = setInterval(function () {
console.log(i);
i = i - 1;
if (i < 0) {
clearInterval(countdownTimer);
return; //This will prevent -1 to be written to html
}
document.getElementById("time-remaining").innerHTML = "Time Remaining:" + i;
}, 1000);
}
startTimer();
因为您正在尝试在主UI线程上执行网络操作,从而压倒它。而是使用NetworkOnMainThreadException
。
另外,请注意,如果服务器花了很多时间来响应,主线程也会无响应。