Трябва да насрочите своя DownloadJSON
задача да се изпълнява периодично, както следва:
public void callAsynchronousTask() {
final Handler handler = new Handler();
Timer timer = new Timer();
TimerTask doAsynchronousTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
try {
DownloadJSON performBackgroundTask = new DownloadJSON();
performBackgroundTask.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
};
timer.schedule(doAsynchronousTask, 0, 10000); //execute in every 10 sec
}
Това трябва да работи, но не е най-ефективният начин, тъй като изисквате всички данни отново и отново. (Има много данни, които се изтеглят, които не са необходими).
Вместо това трябва периодично да изпълнявате задача, която проверява сървъра дали има нови актуализации съществуват. Ако сървърът каже да... тогава той извлича пълния списък.. в противен случай изчаква известно време и отново иска нова актуализация. Но за това трябва да промените API на сървъра (за да можете да обмислите това в бъдеще)