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

相关文章

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行