Android Studio 中实现简单的定时器代码

原创 2015年11月21日 19:16:03

需求:类似iOS中的NSTimer 定时器功能,开关控制随机几秒钟执行指定功能;

平台:Android

开发环境:Android Studio

代码实现:

一. 创建Handler对象和Runnable对象 

    Handler handler = new Handler();
    Runnable runnable = new Runnable() {
        @Override
        public void run() {
            if (mPageOpen){

                if (interstitialAd.isLoaded()){  //示例-谷歌插页广告
                    interstitialAd.show();
                }else {
                    AdRequest adRequest = new AdRequest.Builder().build();
                    interstitialAd.loadAd(adRequest);
                }
                int random = (int)(Math.random() * 10 +20)*1000; //随机时间循环执行
                handler.postDelayed(this, random);
            }
        }
    };


二. 开关控制

        Switch mSwith = (Switch) findViewById(R.id.switchPage);
        mSwith.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    mPageOpen = true;
                } else {
                    mPageOpen = false;
                }

                handler.postDelayed(runnable, 15000); //开关控制执行
            }
        });

三. 移除定时器

handler.removeCallbacks(runnable);

附:加入 Android中国开发者 QQ群:361871827 欢迎一起讨论技术..

Android中实现定时器的四种方式

第一种方式 利用Timer和TimerTask 1、继承关系 java.util.Timer 基本方法 schedule 例如:     timer.schedule(task...
  • u013675234
  • u013675234
  • 2015年11月30日 23:55
  • 2898

Android 定时器TimerTask 简单使用

Android平台中需要反复按周期执行方法可以使用Java上自带的TimerTask类,TimerTask相对于Thread来说对于资源 消耗的更低,除了使用Android自带的AlarmManage...
  • q610098308
  • q610098308
  • 2015年09月05日 23:03
  • 2187

Android中定时器的3种实现方法

在Android开发中,定时器一般有以下3种实现方法: 一、采用Handler与线程的sleep(long)方法 二、采用Handler的postDelayed(Runnable, long)...
  • jdsjlzx
  • jdsjlzx
  • 2012年06月14日 17:35
  • 11618

Android中实现定时器的三种方法

  • 2015年07月15日 09:13
  • 941KB
  • 下载

android studio开发<五> 定时器,播放声音

定时器: import java.util.Timer; import java.util.TimerTask; //自动切换界面 Timer time = new ...
  • u012322710
  • u012322710
  • 2016年09月21日 16:59
  • 1881

Android中的定时器Timer、AlarmManager、CountDownTimer的使用

1、Timer和TimerTask的使用java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。 (1)创建一个Timerjava.util.Timer timer...
  • hp910315
  • hp910315
  • 2015年11月20日 11:05
  • 3226

android中的Timer与Handler的比较

Timer是一个定时器,需要结合TimerTask使用,是一个定时的机制,更倾向于定时的功能。handler是android中的消息机制,通过handler可以post执行任务,或send发送消息以及...
  • qq_33689414
  • qq_33689414
  • 2016年05月13日 17:31
  • 2240

Android三种定时器的简单使用

RT、 网上一搜,有好多的答案,但是貌似大多数都是一样的,我在这稍微精简一下代码,算是总结吧。 定时器 1、线程Thread + sleep new Thread(){...
  • Aquarius_Seven
  • Aquarius_Seven
  • 2016年09月21日 11:23
  • 766

【Android】Android开发小功能,倒计时的实现。时间计时器倒计时功能。

作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个...
  • qq_21376985
  • qq_21376985
  • 2016年09月10日 16:21
  • 2741

利用Handler通信来实时显示系统时间

本程序实现了在屏幕中实时显示系统时间,其中用到了Handler、Timer、TimerTask、Message等关键技术。...
  • u013761665
  • u013761665
  • 2014年07月30日 18:26
  • 1327
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Studio 中实现简单的定时器代码
举报原因:
原因补充:

(最多只允许输入30个字)