Android - повторять поток в течение таймера
Во-первых, я даже не мог выбрать метод для использования, я сейчас читаю часами, а кто-то говорит «использовать обработчики», кто-то говорит «использовать таймер». Вот что я пытаюсь достичь:
В настройках есть настройка (флажок) для включения / выключения повторяющегося задания. Поскольку этот флажок установлен, таймер должен начать работать, и поток должен выполняться каждые x секунд. Поскольку флажок снят, таймер должен остановиться.
Вот мой код:
Проверка, установлен ли флажок или нет, если установлен флажок «refreshAllServers» void будет выполнен, что делает работу с таймером.
boolean CheckboxPreference = prefs.getBoolean("checkboxPref", true);
if(CheckboxPreference == true) {
Main main = new Main();
main.refreshAllServers("start");
} else {
Main main = new Main();
main.refreshAllServers("stop");
}
Пустота refreshAllServers, которая выполняет работу таймера:
public void refreshAllServers(String start) {
if(start == "start") {
// Start the timer which will repeatingly execute the thread
} else {
// stop the timer
}
И вот как я выполняю свой поток: (хорошо работает без таймера)
Thread myThread = new MyThread(-5);
myThread.start();
Что я пробовал?
Я попробовал любой пример, который я мог видеть из Google (обработчики, таймер), ни один из них не работал, мне удалось запустить таймер один раз, но остановить его не получилось. Самый простой & amp; понятный код, который я видел в своем исследовании, был такой:
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
// your code here
}
},
5000
);