转载自:

https://www.jianshu.com/p/dd5de8dbbe81

定时器有什么用

在我们Android客户端上有时候可能有些任务不是当时就执行,而是过了一个规定的时间在执行此次任务。那么这个时候定时器的作用就非常有用了。首先开启一个简单的定时器

 Timer timer = new Timer();TimerTask task = new TimerTask() {@Overridepublic void run() {try {holder.post(url,"",200);} catch (IOException e) {e.printStackTrace();}}};

现在我就相当于定义了一个定时器,我现在的定时器是向服务器发送Post请求来返回数据刷新到我的界面上那么接下来就是开启定时器了。开启定时器那就非常简单了

  timer.schedule(task,0,10000);

开启定时器特别简单基本上一句话就搞定了
开启定时器需要三个参数
1.就是上面所写的你要做的事情 ,上面我写的上向网络发送请求那么这里就时开启定时器请求网络
2.这个参数是你要多长时间后执行这个定时器,这里我写的是0,那么就是0秒后执行我的定时器。
3.这个是最重要的这就是你每次执行时间的间隔 我这里就是说每10秒向网络发送一次请求如果写成1000就是每一秒向网络发送一次请求

如果第三个参数不写的话那么定时器就是几秒后执行 那么定时器只执行一次就不在执行了

定时器的请求周期

其实定时器如果不销毁的话是一直执行的但其实定时器如果一直执行的话那么我们的程序根本就撑不了多长时间就会崩溃所以说定时器用完就要及时的关闭
定时器的开启在写Fragment或者Activity的时候我一般会写在onStart里面
如果销毁的时候会写在onStop里面销毁定时器也非常简单

   timer.cancel();

基本上这一句话就搞定了执行这句话说明是注销定时器
当我们离开本界面的时候就执行这句话那么定时器就不会在执行了当我们进入本界面在onStart执行定时器那么就又开启了定时器所以说这样就写了一个简易版的定时器

public class WhiteFragment extends Fragment{Handler handler = new Handler(){public void handleMessage(Message msg){switch(msg.what){case 200:"执行我要做的事情用来刷新UI"}}
}private String url = "http://ip地址:8080/2017guosaiserver/GetAllSense";HttpHolder holder = new HttpHolder(handler);Timer timer = new Timer();TimerTask task = new TimerTask() {@Overridepublic void run() {try {holder.post(url,"",200);} catch (IOException e) {e.printStackTrace();}}};
}@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view = inflater.inflate(R.layout.whitefragment,null);return view;
}@Overridepublic void onStart() {super.onStart();timer.schedule(task,0,10000);}@Overridepublic void onStop() {super.onStop();timer.cancel();}
}

一个简单的定时器请求网络就完成了 HttpHolder holder = new HttpHolder(handler); 这是自己写的网络请求类直接调用输入url的服务器地址获得的就是服务器发来的JSON格式的数据
在onStop里面注销定时器那么每次离开本界面的时候那么定时候就销毁了再回到本界面的时候那么就执行onStart里面的开启定时器那么定时器就开启了所以这样就避免了因为定时器开启而使程序崩溃

Android 定时器Timer的使用相关推荐

  1. Android定时器Timer简单使用

    Android定时器Timer简单使用 Timer简介 Timer使用 总结 Timer简介 Timer(计时器)位于 java.util包下,可用于创建定时任务,任务可以安排为一次性执行,也可以定期 ...

  2. Android定时器Timer和TimerTas的使用

    1. 概述 Timer是一种定时器工具,用来在一个后台线程计划执行指定任务.它可以计划执行一个任务一次或反复多次. TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务. Time ...

  3. Android 定时器Timer

    定义一个定时器及定义一个TimerTask处理handler事件 Timer timer = new Timer();TimerTask task = new TimerTask() {@Overri ...

  4. Android定时器Timer

    原文链接:https://blog.csdn.net/u012849206/article/details/50487644 介绍 Timer是线程调度工具.作用:定时,延时,周期性执行任务. Tim ...

  5. java定时器关闭再重启_Android定时器Timer的停止和重启实现代码

    本文介绍了Android定时器Timer的停止和重启实现代码,分享给大家,具体如下: 7月份做了一个项目,利用自定义控件呈现一幅动画,当时使用定时器来控制时间,但是当停止开启时总是出现问题.一直在寻找 ...

  6. 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )

    文章目录 一.Timer 定时器基本使用 二.Timer 定时器常用用法 三.Timer 源码分析 四.Timer 部分源码注释 五.源码及资源下载 参考文档 : Timer 定时器 API 文档 T ...

  7. android 定时器 耗电,Android定时器

    CountDownTimer new CountDownTimer(3000, 1000) { public void onTick(long millisUntilFinished) { if (m ...

  8. 【转】 Android定时器

    转载自:http://www.android-study.com/pingtaikaifa/508.html 在Android开发中,定时器一般有以下3种实现方法: 一.采用Handler与线程的sl ...

  9. 2022-10-20 Linux自带LED灯驱动gpio-leds 心跳呼吸灯heartbeat、定时器timer的使用

    一.测试环境:Android 9 系统 二.驱动文件在\kernel\drivers\leds\leds-gpio.c 三.dts的官方配置文档 kernel\Documentation\device ...

最新文章

  1. 如何设计一颗40PFLOPS量级的AI芯片?
  2. ElementUI的el-table怎样隐藏某一列
  3. 推荐系统User-Item Embedding图算法
  4. Maxscript中渲染中文版Vray完成贴图(VrayCompleteMap)的方法
  5. 使用Redis bitmaps进行快速、简单、实时统计
  6. 小黑小波比.git clone报错解决方案
  7. Ecshop最新版v.272本地包含漏洞Oday
  8. python 菜单调用_python---权限管理和菜单生成
  9. java 不以科学记数法输出double
  10. 转载 Visual Assist X 10.8.2001 破解版 支持VC2013及以下版本
  11. 2022届秋招的总结与体会
  12. Proteus仿真STM32F103R6输出PWM波
  13. linux yum资源下载,yumdownloader命令 – 从yum存储库下载rpm包
  14. 浙江工业大学2020考研经验分享
  15. 回顾计算机发展史:速度惊人_升级并发布:第24周回顾
  16. ajax打开新窗口被浏览器拦截的解决办法
  17. “棱镜”入侵手机App, 爱加密有效防窃听
  18. Solr_专题:shema 之 types
  19. 贰零贰壹·陆·伍·|比赛|·|创客|:第二十届自治区青少年机器人竞赛心得总结
  20. ICAP: 互换客户端地址协议 1

热门文章

  1. iOS设备中WiFi、蓝牙和飞行模式的开启与关闭(私有API)
  2. LeetCode 453. 最小移动次数使数组元素相等
  3. javascript转盘和砸蛋demo
  4. python内建函数使用_【28】Python十二个常用的内建函数
  5. 华为抓截屏_华为手机有6种截屏方法,你都知道几种?
  6. 统计拉人进入微信群数量的方法
  7. mysql小白→高手
  8. 手机海豚模拟器怎么添加游戏_电脑组装模拟器游戏下载-电脑组装模拟器手机汉化版下载v1.0.0 安卓版...
  9. Tkinter之place所有属性详解
  10. 部分插件由于缺少依赖无法加载。要恢复这些插件提供的功能,需要修复这些问题并重启