Да, потому что даже в этот день и возраст, некоторые из нас кодируют на терминалах (хорошо, главным образом эмуляторы терминала), где дисплей может только отобразить 80 символов. Так, по крайней мере, для кодирования я делаю, я действительно ценю 80 символьных правил.
Стандартный способ Java использовать таймеры через java.util.Timer и java.util.TimerTask отлично работает в Android, но вы должны знать что этот метод создает новый поток.
Вы можете использовать очень удобный класс Handler (android.os.Handler) и отправлять сообщения обработчику через sendMessageAtTime (android.os.Message , long)
или sendMessageDelayed (android.os.Message, long)
. Получив сообщение, вы можете запускать нужные задачи. Второй вариант - создать объект Runnable и запланировать его через функции Handler postAtTime (java.lang.Runnable, long)
или postDelayed (java.lang.Runnable, long )
.
Я считаю, что на Android это можно сделать, если вам нужна фоновая служба. В этом фоновом приложении создайте таймер. Когда таймер "тикает" (задайте интервал времени ожидания), запустите действие, которое хотите начать.
http://developer.android.com/guide/topics/fundamentals.html (<- в этой статье объясняется взаимосвязь между действиями, службами, намерениями и другими основными принципами разработки Android)
Managed Extensibility Framework (доступна через codeplex для версий до .NET-4.0 или встроенная .NET 4.0 в System.ComponentModel.Composition ) был создан для этого. Допустим, у вас есть служба , которая может попросить пользователя выбрать мастера, а затем создать его. Он использует мастера провайдера для создания мастеров, и ему необходимо знать имя и доступные заклинания ( метаданные ) для мастеров, которые создает провайдер. Вы можете использовать следующие интерфейсы:
namespace Wizardry
{
using System.Collections.Generic;
public interface IWizardProvider
{
IWizard CreateWizard();
}
public interface IWizard
{
IMagic GetMagic(string magicWord);
}
public interface IWizardProviderMetadata
{
string Name { get; }
IEnumerable<string> Spells { get; }
}
}
Служба создания мастера импортирует доступных поставщиков мастеров, выбирает одного с помощью некоторого механизма (в вашем случае - обратная связь с пользователем) и использует поставщика для создания мастера.
( интервал время для повторения выполнения)