如何在固定的时间间隔后重复执行异步任务如何在一段时间间隔之后重复执行异步任务,就像Timer一样...实际上我正在开发一个应用程序,它会自动从服务器下载所有最新的未读问候语,为此我必须在修复后检查服务器的更新时间间隔....我知道可以通过计时器轻松完成,但我想使用异步任务,我认为对Android应用程序更有效。
3 回答
![?](http://img1.sycdn.imooc.com/533e4c5600017c5b02010200-100-100.jpg)
慕侠2389804
TA贡献1719条经验 获得超6个赞
//Every 10000 ms private void doSomethingRepeatedly() { Timer timer = new Timer(); timer.scheduleAtFixedRate( new TimerTask() { public void run() { try{ new SendToServer().execute(); } catch (Exception e) { // TODO: handle exception } } }, 0, 10000); }
![?](http://img1.sycdn.imooc.com/5333a0350001692e02200220-100-100.jpg)
繁花如伊
TA贡献2012条经验 获得超12个赞
你可以只是一个处理程序:
private int m_interval = 5000; // 5 seconds by default, can be changed laterprivate Handle m_handler;@Overrideprotected void onCreate(Bundle bundle){ ... m_handler = new Handler();}Runnable m_statusChecker = new Runnable(){ @Override public void run() { updateStatus(); //this function can change value of m_interval. m_handler.postDelayed(m_statusChecker, m_interval); }}void startRepeatingTask(){ m_statusChecker.run(); }void stopRepeatingTask(){ m_handler.removeCallback(m_statusChecker);}
但我建议您检查一下这个框架:http://code.google.com/intl/de-DE/android/c2dm/是一种不同的方法:服务器会在准备就绪时通知手机(因此,节省一些带宽和性能:))
- 3 回答
- 0 关注
- 573 浏览
添加回答
举报
0/150
提交
取消