如何从倒数计时器中获取经过的时间以发送到服务器
How to get elapsed time from countdown timer to send to the server
我正在制作一个测验应用程序,其中显示倒数计时器。它在文本字段中显示倒数计时器,并在进度条中显示进度。但是在测验结束时,我想将用户经过的时间发送到服务器。我怎样才能得到经过的时间?
countDownTimer = new CountDownTimer(10800000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
i[0]++;
progressBar.setProgress((int) i[0] *100/(10800000/1000));
timer.setText(String.format("%d : %d : %d", TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
}
@Override
public void onFinish() {
i[0]++;
progressBar.setProgress(100);
}
};
试试这个解决方案
全局声明这个变量并使用它
private int elapsed_time = 10800000;
countDownTimer = new CountDownTimer(elapsed_time, 1000) {
@Override
public void onTick(long millisUntilFinished) {
i[0]++;
progressBar.setProgress((int) i[0] *100/(10800000/1000));
timer.setText(String.format("%d : %d : %d", TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
}
@Override
public void onFinish() {
i[0]++;
progressBar.setProgress(100);
sendRequestToServerAPI(elapsed_time);
}
};
我从@quick learner 那里得到了灵感。
long elapsed_time;
countDownTimer = new CountDownTimer(10800000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
i[0]++;
progressBar.setProgress((int) i[0] *100/(10800000/1000));
timer.setText(String.format("%d : %d : %d", TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
elapsed_time = 10800000-millisUntilFinished;
}
@Override
public void onFinish() {
i[0]++;
progressBar.setProgress(100);
}
};
我正在制作一个测验应用程序,其中显示倒数计时器。它在文本字段中显示倒数计时器,并在进度条中显示进度。但是在测验结束时,我想将用户经过的时间发送到服务器。我怎样才能得到经过的时间?
countDownTimer = new CountDownTimer(10800000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
i[0]++;
progressBar.setProgress((int) i[0] *100/(10800000/1000));
timer.setText(String.format("%d : %d : %d", TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
}
@Override
public void onFinish() {
i[0]++;
progressBar.setProgress(100);
}
};
试试这个解决方案
全局声明这个变量并使用它
private int elapsed_time = 10800000;
countDownTimer = new CountDownTimer(elapsed_time, 1000) {
@Override
public void onTick(long millisUntilFinished) {
i[0]++;
progressBar.setProgress((int) i[0] *100/(10800000/1000));
timer.setText(String.format("%d : %d : %d", TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
}
@Override
public void onFinish() {
i[0]++;
progressBar.setProgress(100);
sendRequestToServerAPI(elapsed_time);
}
};
我从@quick learner 那里得到了灵感。
long elapsed_time;
countDownTimer = new CountDownTimer(10800000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
i[0]++;
progressBar.setProgress((int) i[0] *100/(10800000/1000));
timer.setText(String.format("%d : %d : %d", TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
elapsed_time = 10800000-millisUntilFinished;
}
@Override
public void onFinish() {
i[0]++;
progressBar.setProgress(100);
}
};