U moet uw DownloadJSON
plannen taak periodiek als volgt uit te voeren:
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
}
Dit zou moeten werken, maar het is niet de meest efficiënte manier, aangezien u keer op keer de volledige gegevens opvraagt. (Er worden veel gegevens gedownload die niet vereist zijn).
In plaats daarvan moet u regelmatig een taak uitvoeren die de server controleert op nieuwe updates bestaan. Als de server ja zegt.. dan haalt hij de volledige lijst op.. anders wacht hij enige tijd en vraagt hij opnieuw om een nieuwe update. Maar hiervoor moet je de server-API aanpassen (zodat je dit in de toekomst kunt overwegen)