Android开发Timer计时器的操作实例

2024-09-03 17:32

本文主要是介绍Android开发Timer计时器的操作实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  本文内容讲的是Android开发中Timer计时器如何实现。实际上TimerTimerTask都是JDK自带的功能,两个类结合可以实现定时任务执行一次,或者定期重复执行任务。

下面模拟一个Android开发Timer计时器实例:

  1、新建一个项目:Lesson34_Timer2MainActivity.java代码如下:

  package basic.android.timer;

  import java.util.Timer;

  import java.util.TimerTask;

  import android.app.Activity;

  import android.os.Bundle;

  import android.os.Handler;

  import android.os.Message;

  import android.util.Log;

  import android.view.View;

  import android.widget.Button;

  import android.widget.TextView;

  public class MainActivity extends Activity {

  Timer timer;

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  // 定义UI组件

  final TextView tv1 = (TextView) findViewById(R.id.textView1);

  Button b1 = (Button) findViewById(R.id.button1);

  Log.i("yao", Thread.currentThread().getName());

  // 定义Handler

  final Handler handler = new Handler() {

  @Override

  public void handleMessage(Message msg) {

  super.handleMessage(msg);

  //handler处理消息

  if(msg.what>0){

  tv1.setText("" + msg.what);

  }else{

  //handler里可以更改UI组件

  tv1.setText("点火!");

  timer.cancel();

  }

  }

  };

  // 定义按钮的点击监听器

  b1.setOnClickListener(new View.OnClickListener() {

  @Override

  public void onClick(View arg0) {

  // 定义计时器

  timer = new Timer();

  // 定义计划任务,根据参数的不同可以完成以下种类的工作:在固定时间执行某任务,在固定时间开始重复执行某任务,重复时间间隔可控,在延迟多久后执行某任务,在延迟多久后重复执行某任务,重复时间间隔可控

  timer.schedule(new TimerTask() {

  int i = 10;

  // TimerTask 是个抽象类,实现的是Runable

  @Override

  public void run() {

  Log.i("yao", Thread.currentThread().getName());

  //定义一个消息传过去

  Message msg = new Message();

  msg.what = i--;

  handler.sendMessage(msg);

  }

  }, 1000, 200);

  }

  });

  }

  }

  

  3、直接编译运行程序,查看结果。

  本讲就这样结束了,其实在Android里进行时间调度还是有方法的,在Android里进行UI控制还是要用Handler。对Android开发Timer计时器感兴趣的朋友可以看看以上的内容。

这篇关于Android开发Timer计时器的操作实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133578

相关文章

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

JavaScript DOM操作与事件处理方法

《JavaScriptDOM操作与事件处理方法》本文通过一系列代码片段,详细介绍了如何使用JavaScript进行DOM操作、事件处理、属性操作、内容操作、尺寸和位置获取,以及实现简单的动画效果,涵... 目录前言1. 类名操作代码片段代码解析2. 属性操作代码片段代码解析3. 内容操作代码片段代码解析4.

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Python使用asyncio实现异步操作的示例

《Python使用asyncio实现异步操作的示例》本文主要介绍了Python使用asyncio实现异步操作的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录1. 基础概念2. 实现异步 I/O 的步骤2.1 定义异步函数2.2 使用 await 等待异

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo