2013-03-15 7 views
0

Je veux savoir que pouvons-nous créer un minuteur unique pour gérer deux appels de fond différents dans des durées différentes? J'ai un code qui met à jour l'heure locale dans mon application en 30 secondes. Ce que je veux, c'est de ne pas créer d'autres minuteries mais dans le même minuteur, appeler une fonction différente après 60 secondes. Voici mon codeAndroid étendue Minuterie

   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

La réponse simple est non, comme vous avez déjà défini son heure si vous le changez, cela fonctionnera comme nouvel intervalle changé – Raynold

+0

@Raynold donc je dois créer un nouveau temporisateur? Combien sera-t-il efficace de créer une nouvelle minuterie en ce qui concerne la mémoire et la consommation de la batterie? merci – CodeAddiction

+0

@CodeAddiction: à quel problème êtes-vous confronté dans la logique actuelle –

Répondre

0

Une solution peut être:

class RemindTask extends TimerTask 
    { 
     public void run() 
       { 

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

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

où le comte est une variable qui vous permet de savoir combien de fois le TimerTask a été runned et d'appeler une weatherApiCall une heure.

+0

Great! vais certainement essayer dans quelques heures :) – CodeAddiction

+0

Fonctionnement parfait! – CodeAddiction