Android開發和Java一般都很新,所以請原諒任何業餘的無知和缺乏術語。防止互聯網訪問方法延遲吐司
我正在開發一個Android應用程序,該應用程序使用基於http://www.spartanjava.com/2009/get-a-web-page-programatically-from-android/處可用代碼的方法將網頁作爲字符串獲取。
這需要少量但明顯的時間,但工作正常。它通過按下UI中的按鈕來觸發。由於應用程序在獲取數據時沒有響應,因此我有一個敬酒,旨在在用戶發生之前發出警告。
這裏基本上正在做什麼(而不是實際的代碼,只是舉例):
public void buttonPressed(View view)
{
Toast.makeText(this, "Getting Data!", Toast.LENGTH_LONG).show();
//See the page linked above for the code in this function!
String page = getPage("http://www.google.com/");
Toast.makeText(this, "Data Retrieved!", Toast.LENGTH_LONG).show();
}
不幸的是,「獲取數據」舉杯似乎只有GETPAGE方法完成後出現,出現的很簡單然後被「Data Retrieved」吐司覆蓋。
如何避免這種情況,使得「獲取數據」toast出現,然後getPage方法運行,然後在方法終止時出現「Data Retrieved」toast?
任何建議將不勝感激。我想到的解決方案涉及某種線索或同步的,但甚至不知道從哪裏開始尋找一個合適的教程...
格雷格
另請注意,doInBackground()在後臺線程中運行,並且不能從UI(線程)中訪問東西即:它不能嘗試發送Toast – 2011-01-28 15:51:51