1.通过rxjava实现(代码中使用了Lambda表达式)

private static final int PERIOD = 10 * 1000;private static final int DELAY = 100;private Disposable mDisposable;/** * 定时循环任务 */private void timeLoop() {    mDisposable = Observable.interval(DELAY, PERIOD, TimeUnit.MILLISECONDS)            .map((aLong -> aLong + 1))            .subscribeOn(Schedulers.io())            .observeOn(AndroidSchedulers.mainThread())            .subscribe(aLong -> getUnreadCount());//getUnreadCount()执行的任务}//关闭定时任务if (mDisposable != null) mDisposable.dispose();

2.通过Handler实现

private Handler mHandler = new Handler(Looper.getMainLooper()); // 全局变量private Runnable mTimeCounterRunnable = new Runnable() {    @Override    public void run() {//在此添加需轮寻的接口getUnreadCount();//getUnreadCount()执行的任务        mHandler.postDelayed(this, 20 * 1000);    }};//关闭定时任务mHandler.removeCallbacks(mTimeCounterRunnable);

3.使用Java的Timer和TimerTask实现

private static final int PERIOD = 10 * 1000;private static final int DELAY = 100;private Timer mTimer;private TimerTask mTimerTask;private void timeLoop2(){    mTimer = new Timer();    mTimerTask = new TimerTask() {        @Override        public void run() {            //在此添加轮询        }    };    mTimer.schedule(mTimerTask,DELAY,PERIOD);}//关闭定时任务if (mTimer != null) mTimer.cancel();

 

更多相关文章

  1. Android对接webService接口
  2. 【面试】Android Retrofit+Rxjava 如何实现同时请求多个接口数据
  3. Android 驱动之旅 第四章:在Android 系统中编写JNI 方法在应用程
  4. 一种绕过Android P对非SDK接口限制的简单方法
  5. Android笔记:Android后台接口教程一(从零开始学习Android后台接口)A
  6. Android表达式计算器
  7. Android : android 9.0 audio 接口分析
  8. 【译】Android 6.0接口变化(三)(Android 6.0 Changes)
  9. 【翻译】(8-补丁1)Android接口定义语言(AIDL)

随机推荐

  1. 鹿哥带读者做外包,它香吗?
  2. TensorFlow 零基础入门指南
  3. 一文搞定pandas的数据合并
  4. 性能优化 | 实战中几点性能优化方案!
  5. 自学第五十四天
  6. 谈谈“偶像崇拜”的危害!
  7. 2021.1.20
  8. 动画:一道 K Sum 面试题引发的血案
  9. 这一次,我差点就废了!
  10. 手把手教你用 TensorFlow 实战线性回归问