android实现textview显示系统时间

来源:互联网 发布:饥荒联机版网络红色 编辑:程序博客网 时间:2024/06/06 20:33

首先在main_activity.xml文件中建立一个id=ShowTime的文本框。

再在MianActivity.java中编写方法(该方法用到了异步消息线程机制,讲解如下:)

Handler、Looper、Message都是与Android异步消息处理线程相关的概念。

异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若消息队列为空,线程则会阻塞等待。

private TextView tv_time;//先建立textview对象
private static final int x=1;//建立静态常量相当于计时器
public class timeThread extends Thread{//建立方法实现线程
public void run(){
do{
try{
Thread.sleep(1000);//每一秒建立一条消息,
Message message = new Message();
message.what=x;
mHandler.sendMessage(message);//Handler负责创建消息,
//Looper负责创建messageQueue并无线循环读取消息
}catch(InterruptedException e){
e.printStackTrace();
}
}while(true);
}
}
private Handler mHandler = new Handler(){//用到了匿名内部类
public void handleMessage(Message message){
super.handleMessage(message);
switch(message.what){
case x:
long systime = System.currentTimeMillis();
Date date = new Date(systime);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEEEEEEEE");
tv_time.setText(format.format(date));
break;
default:
break;
}
}
};




阅读全文
0 0