java安卓计时器_如何在Android中设置计时器

是的,java的计时器可以使用,但正如问题所要求的更好的方法(适用于流动)。这是解释这里.

为了StackOverflow:

自定时器创建一个新线程-它可能会被认为很重,

如果您只需要在该活动运行一个处理程序可以与private final int interval = 1000; // 1 Secondprivate Handler handler = new Handler();private Runnable runnable = new Runnable(){

public void run() {

Toast.makeText(MyActivity.this, "C'Mom no hands!", Toast.LENGTH_SHORT).show();

}};...handler.postAtTime(runnable, System.currentTimeMillis()+interval);handler.postDelayed(runnable, interval);

或者是private final int EVENT1 = 1; private Handler handler = new Handler() {

@Override

public void handleMessage(Message msg) {

switch (msg.what) {

case Event1:

Toast.makeText(MyActivity.this, "Event 1", Toast.LENGTH_SHORT).show();

break;

default:

Toast.makeText(MyActivity.this, "Unhandled", Toast.LENGTH_SHORT).show();

break;

}

}};...Message msg = handler.obtainMessage(EVENT1);handler.sendMessageAtTime(msg, System.currentTimeMillis()+interval);handler.sendMessageDelayed(msg, interval);

请注意,如果您希望从另一个线程在UI线程中运行一段代码,则可以使用此方法。

如果您需要回电话,即使您的活动没有运行,那么您可以使用AlarmManager

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Java计时器,包括开始,暂停,恢复和停止功能。你可以根据自己的需求进行修改。 ```java import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.Timer; public class Stopwatch implements ActionListener { JFrame frame = new JFrame(); JPanel panel = new JPanel(); JLabel timeLabel = new JLabel(); Timer timer = new Timer(1000, this); int elapsedTime = 0; int seconds = 0; int minutes = 0; int hours = 0; boolean started = false; String secondsString = String.format("%02d", seconds); String minutesString = String.format("%02d", minutes); String hoursString = String.format("%02d", hours); String time = hoursString + ":" + minutesString + ":" + secondsString; public Stopwatch() { timeLabel.setText(time); panel.add(timeLabel); frame.add(panel); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("Stopwatch"); frame.pack(); frame.setVisible(true); } public void start() { started = true; timer.start(); } public void pause() { started = false; timer.stop(); } public void resume() { started = true; timer.start(); } public void reset() { started = false; timer.stop(); elapsedTime = 0; seconds = 0; minutes = 0; hours = 0; secondsString = String.format("%02d", seconds); minutesString = String.format("%02d", minutes); hoursString = String.format("%02d", hours); time = hoursString + ":" + minutesString + ":" + secondsString; timeLabel.setText(time); } public void actionPerformed(ActionEvent e) { elapsedTime = elapsedTime + 1000; hours = (elapsedTime / 3600000); minutes = (elapsedTime / 60000) % 60; seconds = (elapsedTime / 1000) % 60; secondsString = String.format("%02d", seconds); minutesString = String.format("%02d", minutes); hoursString = String.format("%02d", hours); time = hoursString + ":" + minutesString + ":" + secondsString; timeLabel.setText(time); } public static void main(String[] args) { Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); } } ``` 上面的代码创建了一个简单的图形用户界面,包括一个计时器标签和四个按钮:开始,暂停,恢复和停止。计时器标签显示经过的时间。`start()` 方法启动计时器,`pause()` 方法暂停计时器,`resume()` 方法恢复计时器,`reset()` 方法重置计时器。`actionPerformed()` 方法是计时器的核心,每秒更新计时器标签。在 `main()` 方法,创建了一个新的 `Stopwatch` 对象,并调用 `start()` 方法开始计时器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值