Android 開發筆記——定時器


做慣了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);//啟動定時器

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM