Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Android-Listenansicht aktualisieren / aktualisieren, ohne die App zu schließen

Sie sollten Ihren DownloadJSON planen Aufgabe, die wie folgt regelmäßig ausgeführt wird:

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
}

Dies sollte funktionieren, ist jedoch nicht der effizienteste Weg, da Sie die gesamten Daten immer wieder anfordern. (Es werden viele Daten heruntergeladen, die nicht benötigt werden).

Stattdessen sollten Sie regelmäßig einen Task ausführen, der den Server auf neue Updates überprüft existieren. Wenn der Server ja sagt, dann holt er die vollständige Liste. Andernfalls wartet er einige Zeit und fordert erneut ein neues Update an. Aber dafür müssen Sie die Server-API ändern (damit Sie dies in Zukunft berücksichtigen können)