首先在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;
}
}
};