美文网首页安卓墙Android
Android 四种定时器的写法

Android 四种定时器的写法

作者: 侯蛋蛋_ | 来源:发表于2017-08-27 15:57 被阅读148次

    更多Android总结知识点

    Android中的13种Drawable小结

    Android的八种对话框的实现

    Android 四种定时器的写法

    Android之系统给我们提供的常见的Activity

    第一种方式利用Timer和TimerTask

    Paste_Image.png
    TimerTask  task= new TimerTask() {  
             @Override  
             public void run() {  
                    count++;  
                    Log.i("MainActivity",count + "");  
             }  
    };  
    

    第二种方式 使用Handler

    handler.sendEmptyMessageDelayed(0, 4000);//启动handler,实现4秒定时循环执行  
    private Handler handler = new Handler(){  
    public voidhandleMessage(android.os.Message msg) {  
                         
               if(isChange){  
                        //逻辑处理  
                  
                            handler.sendEmptyMessageDelayed(0,4000);//4秒后再次执行  
                }  
      }  
    };  
    

    第三种方式 使用CountDownTimer

    CountDownTimer cdt = new CountDownTimer(10000, 100) {  
        @Override  
        public void onTick(long millisUntilFinished) {  
            tv_hello.setText(millisUntilFinished + "");  
        }  
        @Override  
        public void onFinish() {  
              
        }  
    };  
      
    cdt.start();  
    

    上面的例子是
    每隔100毫秒执行onTick中的方法一次
    直到执行完10000/100次为止,最后会执行onFinish()中的方法

    第四种方式 AlarmManager

    Intent intent2 = newIntent(ReadLogService.this,TestBroadcast.class);  
    PendingIntent pd =PendingIntent.getBroadcast(getApplicationContext(), 0, intent2,PendingIntent.FLAG_ONE_SHOT);  
    AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);  
    long triggerTime =SystemClock.elapsedRealtime() + 5*1000;  
    am.set(AlarmManager.ELAPSED_REALTIME,triggerTime, pd);  
    

    相关文章

      网友评论

        本文标题:Android 四种定时器的写法

        本文链接:https://www.haomeiwen.com/subject/krzbdxtx.html