独柏寺,敕勒歌,邰
我们开启一个线程,线程每隔一秒发送一次消息,我们在消息中更新textview上显示的时间就ok了。
首先我们在布局文件中放一个textview用来显示时间,如下所示:
之后我们写一个线程,线程里面无限循环,每隔一秒发送一个消息,其中由handler来处理显示的结果:
private handler mhandler = new handler() {
@override
public void handlemessage (message msg) {
super.handlemessage(msg);
switch (msg.what) {
case msgkey1:
long systime = system.currenttimemillis();
charsequence systimestr = dateformat.format("hh:mm:ss", systime);
mtime.settext(systimestr);
break;
default:
break;
}
}
};
之后我们可以在activity的oncreate方法中开启这个线程,这时我们可以看到一个数字时钟了:
整个activity的代码:
import android.app.activity;
import android.os.bundle;
import android.os.handler;
import android.os.message;
import android.text.format.dateformat;
import android.widget.textview;
public class testactivity extends activity {
private static final int msgkey1 = 1;
private textview mtime;
@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.time);
mtime = (textview) findviewbyid(r.id.mytime);
new timethread().start();
}
public class timethread extends thread {
@override
public void run () {
do {
try {
thread.sleep(1000);
message msg = new message();
msg.what = msgkey1;
mhandler.sendmessage(msg);
}
catch (interruptedexception e) {
e.printstacktrace();
}
} while(true);
}
}
private handler mhandler = new handler() {
@override
public void handlemessage (message msg) {
super.handlemessage(msg);
switch (msg.what) {
case msgkey1:
long systime = system.currenttimemillis();
charsequence systimestr = dateformat.format("hh:mm:ss", systime);
mtime.settext(systimestr);
break;
default:
break;
}
}
};
}
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论