sql >> Databáze >  >> RDS >> Mysql

Android listview aktualizuje/obnovuje data bez zavření aplikace

Měli byste naplánovat DownloadJSON úlohu pravidelně spouštět následovně:

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
}

To by mělo fungovat, ale není to nejúčinnější způsob, protože požadujete celá data znovu a znovu. (Stahuje se spousta dat, která nejsou vyžadována).

Místo toho byste měli pravidelně spouštět úlohu, která zkontroluje, zda na serveru nejsou nějaké nové aktualizace existovat. Pokud server řekne ano.. pak stáhne kompletní seznam.. jinak nějakou dobu čeká a znovu požaduje novou aktualizaci. K tomu však musíte upravit serverové API (takže to můžete zvážit v budoucnu)



  1. Jak správně uložit data do databáze?

  2. Vrátí Oracle transakci zpět kvůli chybě?

  3. MariaDB JSON_DEPTH() Vysvětleno

  4. Proč PL/SQL nerespektuje oprávnění udělená rolemi?