Android扩展定时器

Android扩展定时器,android,timer,runnable,Android,Timer,Runnable,我想知道,我们能否创建一个计时器来处理两个不同持续时间的后台呼叫?我有一个代码,可以在30秒内更新应用程序中的本地时间。我想要的是,不要创建任何其他计时器,而是在同一个计时器中,在60秒后调用不同的函数。这是我的密码 timer = new Timer(); timer.schedule(new RemindTask(), 10000,30000); class RemindTask extends TimerTa

我想知道,我们能否创建一个计时器来处理两个不同持续时间的后台呼叫?我有一个代码,可以在30秒内更新应用程序中的本地时间。我想要的是,不要创建任何其他计时器,而是在同一个计时器中,在60秒后调用不同的函数。这是我的密码

                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
                             }
                       });
                    }
        }
一种解决方案可以是:

class RemindTask extends TimerTask 
    {
        public void run()
                {

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

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

其中count是一个变量,允许您知道TimerTask运行了多少次,并每小时调用一次weatherApiCall。

简单的答案是否,因为您已经设置了时间。如果您更改它,它将作为新更改的时间工作interval@Raynold所以我必须创建一个新的计时器?就内存和电池消耗而言,创建一个新计时器的效率有多高?thanks@CodeAddiction当前你面临什么问题logic@CodeAddiction是的,您必须创建另一个,当然它将消耗额外的内存和电池部分,具体取决于您编写的代码。@ρцσѕρєK,问题是,时间每60秒更新一次,但我每30秒更新一次,这是一回事,但发生的是,我也从雅虎api获得天气更新,他们几乎在1小时后更新数据,所以我想有一个计时器,在一小时后获取数据,节省api上不必要的点击?什么会更好?另一个计时器或在30秒后点击api?谢谢你!肯定会在几个小时内试一试:)