Android Timer,TimerTask简单的使用

Android中使用Timer和TimerTask进行任务调度 在上面的代码中,我们在Activity的onCreate方法中创建了一个Timer对象和一个TimerTask对象。然后,我们使用Timer的schedule方法来安排任务的执行,第一个参数是TimerTask对象,表示要执行的任务;另外,在Activity的onDestroy方法中,我们需要取消任务的执行,以避免内存泄漏。在这里,我们使用Timer的cancel方法来取消任务的执行。在任务的run方法中,我们可以编写具体的任务逻辑,例如更新UI、发送网络请求等操作。 阅读详情
<pre name="code" class="html"> private void init() {
        mTimer = new Timer();
        mTimerTask = new TimerTask() {
            @Override
            public void run() {
                //System.out.println("---> count=" + count);
            	DoTask() ;
            	//tView.setText(buff.toString()) ;
            	count++ ;
                if (count == -1) {
                    mTimer.cancel();
                }
            }
            
        };
        //开始一个定时任务
        mTimer.schedule(mTimerTask, 2000,4000);
    }

</pre><p></p><p> mTimer.schedule(mTimerTask, 2000,4000);中第一个参数是自定义的一个TimerTask对象,对其的run方法实现我们要循环调用的代码。第二个参数是延时多少毫秒开始使用,第三个参数表示,间隔多少毫秒去调用一次。</p><p>完整的一个代码,实现的去调用本地服务器上的一个csv文件。</p><p>java文件</p><p></p><pre code_snippet_id="1641193" snippet_file_name="blog_20160410_7_6655857" name="code" class="java">package com.example.getcsvtest;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class ScvTestActivity extends Activity {

	private int count = 0 ;
	private Timer mTimer;
    private TimerTask mTimerTask;
	private TextView tView ;
	public StringBuffer buff = new StringBuffer() ;
	//private	MyAsyncTask myAsyncTask ;
	private Handler handler = new Handler(){
		public void handleMessage(Message msg){
			tView.setText(buff.toString()+count) ;
		}
		
	};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scv_test);
        
        tView = (TextView) findViewById(R.id.TVIEW_ID) ;
        init() ;
 
    }

    
    private void init() {
        mTimer = new Timer();
        mTimerTask = new TimerTask() {
            @Override
            public void run() {
                //System.out.println("---> count=" + count);
            	DoTask() ;
            	//tView.setText(buff.toString()) ;
            	count++ ;
                if (count == -1) {
                    mTimer.cancel();
                }
            }
            
        };
        //开始一个定时任务
        mTimer.schedule(mTimerTask, 2000,4000);
    }
    

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.scv_test, menu);
        return true;
    }


    
    
    public void DoTask(){
    	new Thread(new Runnable() {		
			@Override
			public void run() {
				// TODO Auto-generated method stub
				try {
					URL url =new URL("http://10.0.2.2/1.csv") ;
					HttpURLConnection connection =(HttpURLConnection) url.openConnection() ;
					connection.setRequestMethod("GET") ;
					connection.setConnectTimeout(8000) ;
					connection.setReadTimeout(8000) ;
					InputStream inStream = connection.getInputStream() ;
					BufferedReader reader = new BufferedReader(new InputStreamReader(inStream,"GB2312")) ;
					String line = null;
					int x = 0 ;
					buff.setLength(0);
					while((line=reader.readLine())!=null && x <3){
							System.out.println(line);
							String item[] = line.split(",");
							x++ ;
							buff.append("时间:"+item[0]+",溶解氧: "+item[1]) ;
							buff.append("\n") ;
					}
					Message msg = new Message() ;
					handler.sendMessage(msg) ;
				} catch (Exception e) {
					// TODO: handle exception
					e.printStackTrace() ;
				}
			}
		}).start() ;
    }
    
    
}
Xml布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".ScvTestActivity" >

    <Button 
        android:id="@+id/BTN_ID"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="点击我"/>
    <TextView
        android:id="@+id/TVIEW_ID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</LinearLayout>

Xml的配置文件要上
<uses-permission android:name="android.permission.INTERNET"></uses-permission>



Android 中简单计时器的实现方法(Handler和TimerTask) 方法一、用handler线程创建计时器 计时器效果如下: 第一步:写xml文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.androi 阅读详情

相关推荐

Android TimerTask 的简单应用及注意事项

Android  TimerTask 的简单应用及注意事项 Android应用开发中常常会用到定时器,不可避免的需要用到 TimerTask 定时器任务这个类 下面简单的一个示例演示了如何使用TimerTask 这个示例演示了3秒未有触屏事件发生则锁屏(只是设置下文本,意思一下)有触屏事件则解除锁定 public class ColTimerTaskActivity extends Activity { /** Called when the activity is first created. */ private final String TAG = ColTimerTaskA

timer定时器

.概览 Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。简单的一个例程: import java.util.Timer;import java.util.TimerTask;/*** Simple demo that uses java.util.Time...

weixin_34315189的博客 289

Win10环境下VS2019离线部署OnnxRuntime的完整指南

本文提供了在Windows 10系统下,为Visual Studio 2019进行OnnxRuntime离线部署的完整教程。针对网络受限环境,详细讲解了如何获取正确的离线安装包、配置本地NuGet源,并逐步指导项目配置与测试,确保AI模型在C++环境中顺利运行。

weixin_29205061的博客 400

android的timertask,Android 中 Timer 和 TimerTask的使用

Android中Timer是一个普通的类,其中有几个重要的方法;而TimerTask则是一个抽象类,其中含有一个抽象方法run()。使用Timer类中的schedule()方法可以完成对TimerTask的调度,该方法具有三个参数,其函数声明如下:public void schedule(TimerTask task, long delay, long period)其中第一个参数为TimerTa...

weixin_35448535的博客 2623

宏基因组分析|从Binning到MAG优化的全流程实战指南

本文提供了一份宏基因组分析从Binning到MAG优化的全流程实战指南。详细解析了宏基因组分箱(Binning)的核心原理与必要性,并手把手指导如何利用Bowtie2、MetaBAT2和CheckM等工具构建分箱流水线,进行质量评估与筛选,最终获得高质量宏基因组组装基因组(MAG)。文章还分享了常见问题排查与进阶优化策略,为后续物种分类、功能注释等深度分析奠定坚实基础。

weixin_29260291的博客 455

PhoenixSuit全志刷机实战:从驱动安装到固件烧录的完整避坑指南

本文提供全志芯片设备使用PhoenixSuit进行线刷的完整实战指南。详细介绍了从驱动安装、双公头USB线连接、强制刷机模式进入,到固件烧录全过程的核心步骤与常见错误排查。重点解析了如何避免驱动安装失败、正确触发刷机模式以及应对烧录卡顿等关键问题,帮助用户顺利完成刷机或救砖操作。

algae的博客 1689

Android中使用Timer和TimerTask

前言近期有个需求,要每隔一段时间,应用向后台发送一些数据,用作统计,这时可以使用Java提供的计时器的工具类,即Timer和TimerTask来实现这一功能。 简介Timer是一个普通的类,其中有几个重要的方法;而TimerTask则是一个抽象类,其中有一个抽象方法run(),类似线程中的run()方法,我们使用Timer创建一个他的对象,然后调用schedule方法来完成这种间隔的操作。 这里用

苦逼的程序猿☺ 2万+

876-基于STM32的毫米波雷达智能睡眠监测系统

基于STM32的毫米波雷达智能睡眠监测系统通过非接触式毫米波雷达检测人体呼吸频率和体动次数,结合WIFI数据传输和OLED显示,实现睡眠质量分析与远程监控。系统核心功能包括生理参数采集、阈值设置、数据可视化及远程交互。

m0_50083169的博客 1543

android基础---Timer和TimerTask简单实现定时任务

import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { Timer timer; @Override protected void onCr

BHduke的专栏 1049

Python使用netmiko配置华为交换机

1.netmiko就是专门为网络设备做的模块,非常强大。1.更适合网络设备的自动化运维模块。2、批量配置变更、备份。1.安装netmiko。2. 创建SSH连接。一、netmiko介绍。

博然的宝藏库 2795

大模型——dify实战通过dify搭建你自己的图片识别服务

本文介绍了如何通过Dify平台搭建图片识别服务。首先创建工作流,添加支持图片上传的字段,并配置视觉模型qwen-vl-max-latest进行图像分析。文章详细说明了各步骤操作,包括字段设置、模型选择、提示词编写等。在测试阶段发现URL解析问题后,提供了解决方案:修改Dify的.env文件,调整FILES_URL配置并重启服务。最终成功实现上传图片或输入图片链接后,AI能够准确分析并返回简洁的图片内容描述。这一方案适用于需要快速部署图像识别功能的场景。

1924

Android中Timer类和TimerTask粗解

今天看图形与图像处理的时候看到了一个Timer类,在Android中被称为定时器(Timer),用于在后台线程计划执行指定任务,能够定时的控制修改数据。 TimerTask是一个抽象类,它的子类代表可被Timer定时执行的任务。TimerTask类实现了Tunnable接口。 schedule的意思(时间表、计划表)。 Timer和TimerTask分别继承自:java.util.Timer

1449

手把手教你ensp仿真搭建校园网(含防火墙及无线网络)系列(二)校园网接入层交换机配置

本系列博客将带你从零开始,使用 华为 eNSP(Enterprise Network Simulation Platform) 仿真搭建一个完整的校园网络,涵盖 核心层、汇聚层、接入层、防火墙安全策略、无线AC+AP组网 等实战场景。无论你是网络初学者还是希望深化实战经验的工程师,都能通过本教程掌握企业级网络的规划、配置与排错技巧。

echo的博客 1219

Android中的Handler机制

来自: http://www.cnblogs.com/keyindex/articles/1822463.html 前言   学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的 Standup Timer ...

优秀技术文章收录 318

CANoe.DiVa的应用——生成测试用例过程流程详解(一)

Diva 生成用例过程

LOVE135149的博客 7926

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

安卓倒计时实现方式:Chronometer,timer,timertask

Android时分秒计时器的两种实现方法   可能我们在开发中会时常用到计时器这玩意儿,比如在录像的时候,我们可能需要在右上角显示一个计时器。这个东西其实实现起来非常简单。 只需要用一个控件Chronometer,是的,就这么简单,我都不好意思讲述一下了。 &lt;Chronometer android:layout_width="wrap_content" android:layout...

m0_38058826的博客 451

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android 倒计时计算,【Android】Android实现计时与倒计时的几种方法 Timer与TimerTask...

方法一Timer与TimerTask(Java实现)public class timerTask extends Activity{private int recLen = 11;private TextView txtView;Timer timer = new Timer();public void onCreate(Bundle savedInstanceState){super.onCre...

weixin_39953100的博客 170

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

用在计时器上的“神器”------Timer

Timer TImerTask 的使用

一只正在一步一步往上爬的Android小白 1116

Android 延时任务 Timer简单使用

1,介绍: 【1】Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。 【2】在Android平台中需要反复按周期执行方法可以使用Java上自带的TimerTask类,TimerTask相对于Thread来说对于资源消耗的更低,除了使用Android自带的AlarmManager使用Timer定时器是一种更好的解决方法。 【3】运行机制: ...

Cricket_7的博客 906

android的Handler

引用:http://www.cnblogs.com/keyindex/articles/1822463.html 前言   学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的 Standup T

wtfpewfn的专栏 301

Java中的Timer和TimerTask在Android中的用法(转)

转自:http://blog.youkuaiyun.com/zuolongsnail/article/details/8168689 在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务。比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask。Timer是一个普通的类,其中有几个重要的方法;而TimerTask则是一个抽象类,其中...

SharkArmy 113

android Timer TimerTask用法笔记

Android中经常会遇到执行一些周期性定时执行的任务。初学的时候经常会使用Thread.sleep()方法。在android中,有Timer可以专门干这个事情。 先看看Timer.class中都是些什么。 看到前几行代码的时候就应该知道了.... Timer中有个静态内部类:TimerImpl TimerImpl有个静态内部类:TimerHeap TimerImpe继承Threa...

weixin_30640291的博客 151

安卓计时器timer的使用

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http:...

hdhhd的博客 1793

Android开发中如何实现Timer计时器

本文内容讲的是Android开发中Timer计时器如何实现。实际上Timer和TimerTask都是JDK自带的功能,两个类结合可以实现定时任务执行一次,或者定期重复执行任务。 下面模拟一个Android开发Timer计时器实例:   1、新建一个项目:Lesson34_Timer2、MainActivity.java代码如下:   package basic.android.timer;

u013265457的专栏 1110

倒计时五种方法,方法一:Timer与TimerTask(Java实现)

public class timerTask extends Activity{           private int recLen = 11;        private TextView txtView;        Timer timer = new Timer();           public void onCreate(Bundle savedInstanceState)

qq_40312334的博客 1741
上一篇: Android HttpClient 和 HttpURLConnection 的使用
下一篇: Android 自定义View的一些理解
CallMeJiaGu
博客等级 码龄12年 149粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值