http://developer.android.com/reference/android/os/CountDownTimer.html
TextView _tv = (TextView) findViewById(R.id.textView1);
new CountDownTimer(30000, 1000) { // adjust the milli seconds here
public void onTick(long millisUntilFinished) {
_tv.setText(""+String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
}
public void onFinish() {
_tv.setText("done!");
}
}.start();
由于Java 1.5存在java.util.concurrent.TimeUnit中类
_tv.setText(""+String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/TimeUnit.html
TimeUnit表示在给定的单位时间段的粒度,并提供实用的方法来转换acr oss单元,并在这些单元中执行计时和延迟操作。
对于Java版本低于1.5或者不完全支持TIMEUNIT类下面的公式可用于系统:
int seconds = (int) (milliseconds/1000) % 60 ;
int minutes = (int) ((milliseconds/(1000*60)) % 60);
int hours = (int) ((milliseconds/(1000*60*60)) % 24);
振动
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 500 milliseconds
v.vibrate(500);
<uses-permission android:name="android.permission.VIBRATE"/> // permission in manifest
编辑:
震动在4分55秒500毫秒
if((TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)==4) &&
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))==55)
{
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 500 milliseconds
v.vibrate(500);
}
问题在哪里? – amalBit
现在是/现在不行吗? – codeMagic