Android使用Timer计时输出时间
时间: 2024-05-07 13:17:57 浏览: 8
可以使用以下代码来实现在Android中使用Timer计时输出时间:
```
Timer timer = new Timer();
timer.schedule(new TimerTask() {
int time = 0;
@Override
public void run() {
time++;
Log.d("Timer", "Time: " + time + " seconds");
}
}, 0, 1000);
```
这段代码将会每隔1秒输出一次时间,直到计时结束。你也可以根据需要自行更改计时器的时间间隔和计时时长。
相关问题
Android使用Timer计时输出TextView格式时间
可以使用以下代码来实现:
首先,在你的布局文件中添加一个TextView组件,用于显示计时器的时间:
```xml
<TextView
android:id="@+id/timerTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="00:00:00" />
```
然后,在你的Activity或Fragment中,声明一个Timer对象和一个TimerTask对象,并在onCreate方法中初始化它们:
```java
private Timer timer;
private TimerTask timerTask;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timer = new Timer();
timerTask = new TimerTask() {
int seconds = 0;
int minutes = 0;
int hours = 0;
@Override
public void run() {
seconds++;
if (seconds == 60) {
seconds = 0;
minutes++;
}
if (minutes == 60) {
minutes = 0;
hours++;
}
runOnUiThread(new Runnable() {
@Override
public void run() {
TextView timerTextView = findViewById(R.id.timerTextView);
timerTextView.setText(String.format("%02d:%02d:%02d", hours, minutes, seconds));
}
});
}
};
}
```
在上面的代码中,我们定义了一个计时器,每一秒钟更新一次TextView的文本内容。我们还使用runOnUiThread方法来确保更新UI的操作在UI线程上执行。
现在,我们需要在Activity或Fragment的生命周期方法中启动和停止计时器。在onResume方法中启动计时器,在onPause方法中停止计时器:
```java
@Override
protected void onResume() {
super.onResume();
timer.scheduleAtFixedRate(timerTask, 0, 1000);
}
@Override
protected void onPause() {
super.onPause();
timer.cancel();
}
```
在上面的代码中,我们使用scheduleAtFixedRate方法来启动计时器,并在onPause方法中取消计时器。
现在,你就可以在你的Android应用程序中使用Timer计时器来显示格式化的时间了!
Android 计时器Timer用法
Android中的计时器Timer可以通过java.util.Timer类来实现,具体用法如下:
1.创建一个Timer对象。
```
Timer timer = new Timer();
```
2.创建一个TimerTask对象,重写run()方法,实现具体的计时任务。
```
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
// 具体的计时任务
}
};
```
3.使用Timer的schedule()方法设置计时任务的执行时间和间隔时间。
```
timer.schedule(timerTask, delay, period);
```
其中,delay表示延迟多长时间开始执行计时任务,单位为毫秒;period表示执行计时任务的间隔时间,单位为毫秒。
4.在适当的时候,使用Timer的cancel()方法取消计时任务。
```
timer.cancel();
```
需要注意的是,Timer是在一个新的线程中执行计时任务的,因此,在计时任务中如果需要更新UI,需要使用Handler或者runOnUiThread方法来进行UI更新操作。