2013-03-15 1 views
0

Я хочу знать, что мы можем создать один таймер для обработки двух разных фоновых вызовов в разные периоды времени? У меня есть код, который обновляет локальное время в моем приложении за 30 секунд. Я хочу, чтобы не создавать какой-либо другой таймер, но в том же таймере, вызвать через 60 секунд другую функцию. Вот мой кодAndroid расширенный таймер

   timer = new Timer(); 
       timer.schedule(new RemindTask(), 10000,30000); 

     class RemindTask extends TimerTask 
     { 
      public void run() 
        { 

         runOnUiThread(new Runnable() 
         { 
          public void run() 
          { 
           printMessage();// Current time 
          } 
         }); 
        } 
     } 
+0

Простой ответ: нет, поскольку вы уже установили время, если вы его измените, он будет работать как новый измененный интервал – Raynold

+0

@Raynold, поэтому мне нужно создать новый таймер? Насколько эффективно будет создавать новый таймер по отношению к памяти и потреблению батареи? спасибо – CodeAddiction

+0

@CodeAddiction: с какой проблемой вы сталкиваетесь в текущей логике –

ответ

0

Одним из решений может быть:

class RemindTask extends TimerTask 
    { 
     public void run() 
       { 

        runOnUiThread(new Runnable() 
        { 
         public void run() 
         { 
          count++; 
          if(count%120 == 0) 
           weatherApiCall(); 

          printMessage();// Current time 
         } 
        }); 
       } 
    } 

Где счетчик является переменной, которая позволяет узнать, сколько раз TimerTask было запущено и назвать weatherApiCall один час.

+0

Отлично! обязательно попробуем за несколько часов :) – CodeAddiction

+0

Работаю идеально! – CodeAddiction