导航:首页 > 操作系统 > androidtimer计时器

androidtimer计时器

发布时间:2023-06-05 16:24:23

❶ 一个android Timer,为什么只执行了一次

通过 timer.schele执行的?那注意参数写法, timer.schele(task,1000,5000),表示1秒后开始,5秒为周期,循环执行, timer.schele(task,5000),表示5秒后执行一次结束。

❷ android 怎么实现计时器时分秒的操作

可以Calendar.getInstance().get(Calendar.HOUR),获取当前时间,然后计算时间差

❸ android 用 service 和 CountDownTimer 实现一个倒计时器的功能

在平时我们编程的时候,经常会用到倒计时这个功能,很多人不知道Android已经帮封装好了一个类,往往都自己写。现在发现了这个类,大家共享一下:

在一个TextView不断显示剩下的时间,代码如下:

[java] view plain
private TextView vertifyView;
private CountDownTimer timer = new CountDownTimer(10000, 1000) {

@Override
public void onTick(long millisUntilFinished) {
vertifyView.setText((millisUntilFinished / 1000) + "秒后可重发");
}

@Override
public void onFinish() {
vertifyView.setEnabled(true);
vertifyView.setText("获取验证码");
}
};
调用的时候很简单:timer.start();
最后说明一下:CountDownTimer timer = new CountDownTimer(10000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法。

❹ android 定时器如何让某天某个时间启动

Android中使用AlarmManager进行定时操作,现在需要启动多个定时器,但无论采用哪种方式后面的定时器都会将前面的定时器覆盖掉(Android系统版本2.1),只启动最后一个定时器,见代码 Java code// 方式一for (int i = 0; i < 10; i ++) { ... AlarmManager am = null; am = (AlarmManager) context.getApplicationContext().getSystemService(Context.ALARM_SERVICE); ... Intent i = new Intent("xxx"); PendingIntent sender = PendingIntent.getBroadcast(context.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT); ... am.setRepeating(...);}// 方式二AlarmManager am = null;am = (AlarmManager) context.getApplicationContext().getSystemService(Context.ALARM_SERVICE);for (int i = 0; i < 10; i ++) { ... Intent i = new Intent("xxx"); PendingIntent sender = PendingIntent.getBroadcast(context.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT); ... am.setRepeating(...);} 请问如果要实现启动多个定时器应该怎么操作?Android系统的闹钟就是采用AlarmManager进行操作的,如何才能启动多个定时器呢?先谢谢大家了 ------解决方案-------------------- public static PendingIntent getBroadcast(Context context, int requestCode, Intent intent, int flags) requestCode 需要是唯一的

❺ 一个android Timer,为什么只执行了一次

public void getPaisong() {
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1: {
// 初始化搜索模块,注册事件监听
mSearch = new MKSearch();
mSearch.init(app.mBMapMan, new MyMKSearchListener());
jiexi();
cou++;
Toast.makeText(
BMapApiDemoApp.mDemoApp.getApplicationContext(),
"执行了"+cou+"一次!", Toast.LENGTH_LONG).show();
}
break;
}
super.handleMessage(msg);
}
};
TimerTask task = new TimerTask() {
public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
};

timer = new Timer(true);
timer.schele(task, 5000); // 延时1000ms后执行,1000ms执行一次
// timer.cancel(); //退出计时器
}
我在oncreate方法里直接调用了getPaisong()方法,可是只显示cou=1

❻ android定时器的使用

  目前在项目中使用过的定时器主要是两种方式:1.handler的延时任务 2.timer的定时器

  下面主要来介绍这两种方式 定时器的用法,和遇到的坑 :
  1.handler的延时任务
  写了一个demo,是关于hanlder发送延时消息和 取消延时消息的

  但是在实际运用的过程中,常常会出现无法移除延时消息的问题,这个问题主要是因为两个runnable的对象不是同一个,
  当Activity进入后台运行后再转入前台运行,removeCallbacks无法将updateThread从message queue中移除。这是为什么呢?
  在Activity由前台转后台过程中,线程是一直在运行的,但是当Activity转入前台时会重新定义Runnable runnable;也就是说此时从message queue移除的runnable与原先加入message queue中的runnable并非是同一个对象。  解决方式1:如果把runnable定义为静态的则removeCallbacks不会失效,对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量迅洞的内存分配,我们做如下修改就能解决上面的这个问题.

  解决方式2:将所有的runnable任务放到一个集合中,根据runnable的id移除相应的任务,即可以解决这个问题

2.timer的延时任务
同样用上面的demo来说明使用方法:
要注意的是:
TimerTask运行在一个单独的线程里,而不是UI线程。所以使用 Android timer时,注意android的单线程原则,确保线程安全。不要纤物在TimerTask的run方法中做UI相关的操作,如:TextView.setText()等,这样可能会导致UI线程阻塞。如果需要可以使用handler向UI线程发消息,具体处理由UI线程自己完成。在使用完Timer之后,要使用Timer的cancel方法取消Timer,否则Timer一直在运行。

  这里需要注亩竖枯意的是,timer的cancel方法只能执行一次,不能在调用了cancel之后再进行timer的任务执行。

参考文章:
Android 定时器实现的几种方式和removeCallbacks失效问题详解

Android 中Timer和TimeTask完成定时任务

阅读全文

与androidtimer计时器相关的资料

热点内容
时间算法与现在有什么区别 浏览:160
7zip解压后没文件夹 浏览:900
为什么安卓送玫瑰ios收不到 浏览:6
美篇文章加密是什么意思 浏览:80
ilasm编译dll 浏览:36
呼吸灯单片机程序 浏览:950
linux域socket 浏览:246
qq分身怎么样才能加密 浏览:453
windows打开linux 浏览:995
新建文件夹为什么不能发送微信 浏览:600
交警app怎么绑定本人几辆车 浏览:985
彩虹六号如何人工服务器 浏览:632
mc服务器地址怎么登入 浏览:556
苹果app怎么扫描二维码下载 浏览:961
css文件在线解压 浏览:156
36岁程序员近况 浏览:285
哪里可以下载不加密的歌 浏览:936
隐藏文件夹是什么梗 浏览:920
插件注册命令 浏览:498
梁一端加密一端不加密规范 浏览:84