Мне нужно выполнить некоторый код через регулярные промежутки времени (подключаться к серверу и извлекать данные из базы данных MySQL каждую минуту). Для этого у меня есть класс Sync:
public class Sync {
static private Handler handler = new Handler();
Runnable task;
public Sync(Runnable task, long time) {
this.task = task;
handler.removeCallbacks(task);
handler.postDelayed(task, time);
}
}
и в моей деятельности у меня есть:
public void onCreate(Bundle savedInstanceState) {
...
Sync sync = new Sync(call,60*1000);
...
}
final private Runnable call = new Runnable() {
public void run() {
//This is where my sync code will be, but for testing purposes I only have a Log statement
Log.v("test","this will run every minute");
}
};
Я пробовал это с более коротким периодом времени для тестирования, но он работает только один раз. Когда оно регистрирует сообщение в первый раз, оно также является последним. Кто-нибудь видит, что я здесь делаю? Спасибо!