आपको अपना DownloadJSON
schedule शेड्यूल करना चाहिए समय-समय पर चलाने के लिए कार्य निम्नानुसार है:
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
}
यह काम करना चाहिए हालांकि यह सबसे कुशल तरीका नहीं है क्योंकि आप बार-बार पूरे डेटा का अनुरोध कर रहे हैं। (बहुत सारा डेटा डाउनलोड किया जा रहा है जिसकी आवश्यकता नहीं है)।
इसके बजाय आपको समय-समय पर एक कार्य चलाना चाहिए जो सर्वर की जांच करता है यदि कोई नए अपडेट मौजूद। यदि सर्वर हाँ कहता है .. तो यह पूरी सूची प्राप्त करता है .. अन्यथा यह कुछ समय तक प्रतीक्षा करता है और फिर से नए अपडेट के लिए अनुरोध करता है। लेकिन इसके लिए आपको सर्वर एपीआई को संशोधित करना होगा (ताकि आप भविष्य में इस पर विचार कर सकें)