Android wird automatisch aktualisiert, wenn neue Daten in die Listenansicht eingefügt werden

Ich habe Android-Anwendung entwickelt. Ich habe ein Back-End (Webanwendung) und ein Front-End (Android-Anwendung).

In meiner Anwendung hat es eine Kategorie, die eine Reihe von Elementen enthält. Wenn ich eine Kategorie wähle, wird eine Aufgabe aufgerufen, mit der alle Daten in der Datenbank aufgerufen werden. Sobald die Aufgabe abgeschlossen ist, werden alle Daten abgerufen und zur Aktivität weitergeleitet. Durch die Aktivität werden alle Daten in einer ListView angezeigt.

Jetzt füge ich zum Beispiel neue Daten aus dem Backend (Web) ein. Angenommen, ich füge eine neue Zeile mit einem Boxen in die Sportkategorie ein. In der DB wird es also Boxen im Tischsport geben.

Und in meiner Android-Anwendung bin ich derzeit in der Kategorie Sport. Wenn Boxing in eine neue DB eingefügt wird, sollte es eine automatische Aktualisierung haben und mir Boxing in der Liste anzeigen.

Aber wie mache ich das, wenn die Aufgabe nur einmal ausgeführt wird, wenn ich auf eine Kategorie in der Kategorieliste klicke? Ich möchte die Summe der Daten in der Datenbank und die Daten, die in der Android-Anwendung angezeigt werden, vergleichen. Wenn die Daten nicht identisch sind, wird der Task erneut aufgerufen.

Dies ist der Code, in dem meine Anwendung aktualisiert werden soll

ConnectivityManager connManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

    if(mWifi.isConnected()) 
    {
        refresh = new Runnable() {
            public void run() {
                // Do something
                handler.postDelayed(refresh, 1000);
            }
        };
        handler.post(refresh);

        /*gridArray = new ArrayList<FlipItem>();
        adapter = new PackageListItemAdapter(this, this, gridArray);        
        adapter.notifyDataSetChanged();*/

    }
    else
    {
        refresh = new Runnable() {
            public void run() {
                // Do something
                handler.postDelayed(refresh, 60000);
            }
        };
        handler.post(refresh);
        /*gridArray = new ArrayList<FlipItem>();
        adapter = new PackageListItemAdapter(this, this, gridArray);        
        adapter.notifyDataSetChanged();*/
    }

Der Code, in dem ich dort kommentiere, lässt meine Liste nur ungefähr 9 zeigen, in der ich 15 Einzelteile auf DB habe. Deshalb kommentiere ich diese Zeile

Antworten auf die Frage(3)

Ihre Antwort auf die Frage