int times = getTimes(); final int[] i = {times}; Timer timer = new Timer(); // 生成文件
// 解决Can't create handler inside thread that has not called Looper.prepare()问题 Looper.prepare(); final Handler handler = new Handler() { public void handleMessage(Message msg) { if (msg.what == 1) { doThing(filePath, p_data); } super.handleMessage(msg); }; }; Looper.loop(); // 采集中... final int[] iDataIndex = {0}; TimerTask task = new TimerTask() { @Override public void run() { doThings(); i[0]--; // 完成采集 if(i[0] == 0) { Message message = new Message(); message.what = 1; handler.sendMessage(message); cancel(); } } }; // 开始采集 timer.schedule(task, 0, 1000); // 0s后执行task,经过100ms再次执行
本文介绍了一种基于Java的计时与任务调度实现方法,包括使用Timer进行定时任务设置,通过Handler机制来处理UI更新问题,并展示了如何解决特定线程中创建Handler的问题。
157

被折叠的 条评论
为什么被折叠?



