Anda harus menjadwalkan DownloadJSON
tugas untuk dijalankan secara berkala sebagai berikut:
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
}
Ini seharusnya berfungsi, tetapi ini bukan cara yang paling efisien karena Anda meminta seluruh data berulang kali. (Ada banyak data yang diunduh yang tidak diperlukan).
Sebagai gantinya, Anda harus menjalankan tugas secara berkala yang memeriksa server jika ada pembaruan baru ada. Jika server mengatakan ya .. maka ia mengambil daftar lengkap .. jika tidak, ia menunggu beberapa saat dan meminta pembaruan baru lagi. Tetapi untuk ini, Anda perlu memodifikasi API server (sehingga Anda dapat mempertimbangkan ini di masa mendatang)