我是Android新手。任何人都可以告诉我如何每5秒执行一次消息。我尝试过这段代码,但它在我的模拟器上没有显示任何内容。我应该做什么呢?
while(true) {
Toast.makeText(this, "hi", Toast.LENGTH_SHORT).show();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
答案 0 :(得分:8)
您不应该从GUI线程调用Thread.sleep()。永远不要这样做。使用处理程序来做这件事。
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
public void run() {
doStuff();
/*
* Now register it for running next time
*/
handler.postDelayed(this, 1000);
}
};
我更喜欢这种方式来使用定时器,因为Timer类引入了一个新线程,现在可以做到这一点。
答案 1 :(得分:0)
这是你的代码的总和吗?你将活动视图设置为什么? Android实现了一种警报/日程安排服务,这种服务对电池续航时间比对自己实现自己的电池寿命要友好得多。