Как установить таймер в андроиде

Да, потому что даже в этот день и возраст, некоторые из нас кодируют на терминалах (хорошо, главным образом эмуляторы терминала), где дисплей может только отобразить 80 символов. Так, по крайней мере, для кодирования я делаю, я действительно ценю 80 символьных правил.

165
задан Nike15 16 November 2015 в 16:28
поделиться

3 ответа

Стандартный способ 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 ) .

140
ответ дан 23 November 2019 в 21:06
поделиться

Я считаю, что на Android это можно сделать, если вам нужна фоновая служба. В этом фоновом приложении создайте таймер. Когда таймер "тикает" (задайте интервал времени ожидания), запустите действие, которое хотите начать.

http://developer.android.com/guide/topics/fundamentals.html (<- в этой статье объясняется взаимосвязь между действиями, службами, намерениями и другими основными принципами разработки Android)

2
ответ дан 23 November 2019 в 21:06
поделиться

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

Служба создания мастера импортирует доступных поставщиков мастеров, выбирает одного с помощью некоторого механизма (в вашем случае - обратная связь с пользователем) и использует поставщика для создания мастера. ( интервал время для повторения выполнения)

128
ответ дан 23 November 2019 в 21:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: