是否有计时器功能或计时器是Android中View的子类,可用于跟踪用户的播放时间?
如果我必须构建一个,那么构建一个Thread或Runnable类是不错的,它有一个让自己睡眠1000ms的循环(Thread.sleep(1000))然后更新自己。 e.g。
public class TimerThread extends Runnable{
private int time;
boolean run = true;
public void run(){
while(run){
//update the View here
Thread.sleep(1000);
time++;
}
}
}
答案 0 :(得分:1)
以下是我在其中一个游戏中使用的一些代码。希望它有所帮助
MyCount counter = new MyCount(30000,10); //set to 30 seconds
counter.start();
public class MyCount extends CountDownTimer{
long time=0;
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
clock.setText("You lose!"); //clock is a textfield in the game
restart(); //call you own restart method
}
@Override
public void onTick(long millisUntilFinished) {
DecimalFormat df=new DecimalFormat("#.##"); //import java.text.DecimalFormat;
clock.setText("Left: "+ df.format(millisUntilFinished/1000.0));
time=millisUntilFinished;
}
public long getTime(){
return time;
}
}
答案 1 :(得分:1)
这可能会有所帮助。
http://developer.android.com/reference/android/widget/Chronometer.html
我认为你可能需要谷歌一个例子,我自己从未真正使用它,但我听说过它。
答案 2 :(得分:0)
答案 3 :(得分:0)
只是提供更多选项,这是另一种方法:Updating the UI from a Timer