猿问

如何在固定的时间间隔后重复执行异步任务

如何在固定的时间间隔后重复执行异步任务

如何在一段时间间隔之后重复执行异步任务,就像Timer一样...实际上我正在开发一个应用程序,它会自动从服务器下载所有最新的未读问候语,为此我必须在修复后检查服务器的更新时间间隔....我知道可以通过计时器轻松完成,但我想使用异步任务,我认为对Android应用程序更有效。



元芳怎么了
浏览 574回答 3
3回答

慕侠2389804

//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);                      }

繁花如伊

你可以只是一个处理程序: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/是一种不同的方法:服务器会在准备就绪时通知手机(因此,节省一些带宽和性能:))
随时随地看视频慕课网APP

相关分类

Android
我要回答