代码简洁
package com.example.a1.zhaoshan20170619; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.SystemClock; import android.support.v7.app.AppCompatActivity; import android.widget.TextView; import java.text.DecimalFormat; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends AppCompatActivity { private long baseTimer; private TextView timerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //SystemClock类,这个类仅仅是一个获取系统时间、运行时间的工具类。 //此类有两个方法 uptimeMillis()返回的是系统从启动到当前处于非休眠期的时间。 // elapsedRealTime()返回的是系统从启动到现在的时间。 MainActivity.this.baseTimer = SystemClock.elapsedRealtime(); //初始化控件 timerView = (TextView) findViewById(R.id.textView); //实例化一个Handler用来处理消息 final Handler startTimehandler = new Handler(){ public void handleMessage(android.os.Message msg) { if (null != timerView) { timerView.setText((String) msg.obj); } } }; new Timer("开机计时器").scheduleAtFixedRate(new TimerTask() { @Override public void run() { int time = (int)((SystemClock.elapsedRealtime() - MainActivity.this.baseTimer) / 1000); String hh = new DecimalFormat("00").format(time / 3600); String mm = new DecimalFormat("00").format(time % 3600 / 60); String ss = new DecimalFormat("00").format(time % 60); String timeFormat = new String(hh + ":" + mm + ":" + ss); Message msg = new Message(); msg.obj = timeFormat; startTimehandler.sendMessage(msg); } }, 0, 1000L); } }