Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Android listview aktualizuje/odświeża dane bez zamykania aplikacji

Powinieneś zaplanować swój DownloadJSON zadanie uruchamiane okresowo w następujący sposób:

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
}

Powinno to działać, ale nie jest to najskuteczniejszy sposób, ponieważ ciągle żądasz całych danych. (Pobieranych jest wiele danych, które nie są wymagane).

Zamiast tego powinieneś okresowo uruchamiać zadanie, które sprawdza serwer, czy są jakieś nowe aktualizacje istnieć. Jeśli serwer mówi tak... to pobiera pełną listę.. w przeciwnym razie czeka trochę czasu i ponownie prosi o nową aktualizację. Ale w tym celu musisz zmodyfikować API serwera (abyś mógł rozważyć to w przyszłości)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje inny sposób zaimplementowania tego programu bez użycia zagnieżdżonej pętli while?

  2. Jak działa funkcja MATCH() w MySQL

  3. Jak uznać NULL za datę MAX, zamiast ignorować ją w MySQL?

  4. Jakiego typu danych użyć dla pola haszowanego hasła i jakiej długości?

  5. MySQL Connector/python nie działa w django