В разработке у нас иногда есть необходимость выполнять определенную задачу в течение фиксированного периода времени. Например, элементы управления в пользовательском интерфейсе должны меняться со временем, мы можем использовать классы инструментов таймеров, предоставленных Java, а именно Timer и Timertask.
Таймер - это обычный класс с несколькими важными методами; Timertask - это абстрактный класс с абстрактным методом run (), аналогичным методу run () в потоке. Мы используем таймер для создания объекта, а затем используем метод графика этого объекта для завершения этой операции интервала.
Метод расписания имеет три параметра
Первый параметр является объектом типа Timertask. Метод реализации Timertask run () - это задача, которую необходимо периодически выполнять;
Есть два типа второго параметра. Первый - это длинный тип, который указывает, сколько времени нужно, чтобы начать выполнение, а другой - тип даты, что указывает на то, что он начинает выполнять после этого времени;
Третий параметр - это цикл выполнения, который имеет длинный тип.
Метод расписания также имеет двух параметрическую перегрузку выполнения. Первый параметр по -прежнему остается Timertask, а вторая форма, представленная как длинная, указывает на то, как долго он будет выполнен после его выполнения. Для даты это означает, что он будет выполнен через определенное время.
Таймер - это поток, который использует метод расписания для завершения планирования Timertask. Несколько Timertasks могут поделиться таймером. То есть объект таймера один раз вызывает метод расписания один раз, который создает поток. После того, как Timertask однажды позвонив по расписанию, Timertask будет неограниченным количеством и использовать Timer's Cancel (), чтобы остановить операцию. Конечно, после того, как один и тот же таймер выполняет метод Cancel () один раз, все потоки таймера прекращаются.
Использование:
// true означает, что этот таймер работает в режиме Daemon (низкий приоритет, таймер заканчивает программу и автоматически заканчивается) java.util.timer timer = new java.util.timer (true); Timertask task = new timertask () {public void run () {// Поместите код, который необходимо выполнять каждый раз, когда ставится здесь. }}; // Ниже приведены несколько методов для планирования задач: // Время - тип даты: выполнено один раз в указанное время. timer.schedule (задача, время); // Первое время - это тип даты, период длинный, что указывает на то, что он выполняется каждые миллисекунды с первого времени. timer.schedule (задача, первое время, период); // задержка введите длину: задержка выполняется, когда каждые миллисекунды с этого момента. timer.schedule (задача, задержка); // задержка длиной, период длинный: после задержки миллисекунды передаются с этого момента, выполняйте каждую миллисекунд. timer.schedule (задача, задержка, период); Пример кода:
Импорт Android.App.Activity; Импорт Android.os.bundle; Импорт Android.os.handler; Импорт Android.os.message; импортировать java.util.timer; импортировать java.util.timertask; открытый класс TimerTaskActivity расширяет деятельность {частный таймер mtimer; @Override Protected void Oncreate (Bundle SavedInstanceState) {super.oncreate (savedInstanceState); // init таймер mtimer = new Timer (); // Запуск Timer Task SETTITIMERTASK (); } @Override Protected void ondestroy () {super.ondestroy (); // Отмена таймера mtimer.cancel (); } private void setTimeRtask () {mtimer.schedule (new timertask () {@override public void run () {Сообщение сообщения = новое сообщение (); сообщение } / ** * Делать какое -то действие * / private handcler doActionHandler = new Handler () {@Override public void handlemessage (сообщение msg) {super.handlemessage (msg); int msgid = msg.what; Switch (msgid) {case 1: // сделайте какой -то разрыв действия; по умолчанию: перерыв; }}}; }Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.