1、首先创建子线程与主线程进行数据交互的Handler ,并更新UI
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case UPDATE_TIME:
String time = (String) msg.obj;
tv_time.setText(time);
break;
}
}
};
2、创建用于耗时操作的自定义线程
class MyThend implements Runnable {
@Override
public void run() {
//每隔1s循环执行run方法
String time = getCurrentTime();
Message message = mHandler.obtainMessage();
message.obj = time;
message.what = UPDATE_TIME;
mHandler.sendMessage(message);
mHandler.postDelayed(this, 1000);
}
}
3、定义获取当前时间的函数
/*
* 获取当前时间
* */
private String getCurrentTime() {
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss"); //创建对象制定日期格式
String newTime = TimeUtils.getNowString(format);
LogUtils.i(TAG,"newTime:"+newTime);
return newTime;
}
4、开始执行异步任务
private void updateTime() {
mMyThend = new MyThend();
mHandler.postDelayed(mMyThend,0);
}
效果图:
如果觉得《android 显示系统时间 Android 实时获取当前时间并显示》对你有帮助,请点赞、收藏,并留下你的观点哦!