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);//启动定时器

 

posted @ 2013-01-16 11:20  Merray  Views(4177)  Comments(0Edit  收藏  举报