做慣了java,net,定時器就會想到timer,由於Android支持java開發所以可以使用java中的Timer。
但Android提供了它特有的實現方式:android.os.Handler 中的 postXXX 和sendXXX 等方法,
至於倒計時:android.os.CountDownTimer 使用起來更方便
更多詳細實現參考:http://www.cnblogs.com/playing/archive/2011/03/24/1993583.html
以下是Hanler+Runnable 實現地圖位置的實時更新時的部分代碼
//創建一個Handler final Handler handler = new Handler(); //創建一個Runnable Runnable task = new Runnable() { public void run() { handler.postDelayed(this, 30000); Log.i(tag, "延遲30秒執行線程"); try { //獲取服務器上的位置信息 更新坐標 HashMap<String,Integer> hashmap = new HashMap<String,Integer>(); List<APKGPSInfo> templist=com.comm.GPSDataHanler.GetGPSInfoList(user.getID(), 1, "", hashmap);//獲取點集合 List<OverlayItem> listitem=GetItemList(templist); //獲取點集合 OverItemT overitem = new OverItemT(marker,3,listitem);//生成覆蓋物圖層ItemizedOverlay mMapView.getOverlays().clear();//清除覆蓋物 mMapView.getOverlays().add(overitem); // 添加覆蓋物 ItemizedOverlay實例到mMapView mMapView.postInvalidate();//刷新地圖界面 如何不執行該行 會出現位置無法自動更新 的問題 } catch (Exception e) { e.printStackTrace(); } } }; handler.post(task);//啟動定時器
