我有一個應用程序使用JSON定期(固定的時間間隔,20秒)從服務器請求數據。強制異步任務從主線程停止
我目前的實現包括在異步任務中有一個循環,並有20秒「睡眠」條件。然而,這看起來不太好。我的問題是有更好的實踐。還有一種強制停止其主線程的異步任務的好方法。
另一種方法是更改代碼,並讓客戶端發送一個請求,讓服務器有服務器循環的答案back.Which是一個更好的implmentation預先感謝您:)
protected String doInBackground(String... args) {
String RegistrartionID = RegisID();
while (true){
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("Start_Term", args[0]));
params.add(new BasicNameValuePair("Dest_Term", args[1]));
params.add(new BasicNameValuePair("RegistrartionID",
RegistrartionID));
Log.i("Start_Term", args[0]);
Log.i("Dest_Term", args[1]);
Log.i("RegistrartionID", RegistrartionID);
JSONObject json = jsonParser.makeHttpRequest(
URL_SEND_CHOSEN_TERMINALS, "POST", params);
try {
Thread.sleep(20000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
你不能沒有休息,從內環路停止一段時間(true)循環。 – njzk2