Wie greift man am besten von allen Activitys auf einen Childeventlistener von Firebase?

  • Antworten:2
  • Bentwortet
Volkan Aydin
  • Forum-Beiträge: 187

11.09.2021, 16:02:37 via Website

Ich habe eine Idee, weiss aber nicht wie ich die umsetzen soll.

Also, es gibt eine art Posteingang, wo einladungen/absagen etc zu einem Spiel oder text nachrichten eintreffen. mit Firebase Database

Was ich will:
in einer Startactivity ist der childeventlistener von Firebase, der ein "public static ArrayList " füllt, editiert und einträge löscht.
Diese StartActivity, leitet nach erfolgreichem login, direkt in die HauptActivity, darin ist eine Appbar, mit dem Messages Icon, wie auch in 3 anderen Activitys...
Die Startactivity selber, ist "so gut wie möglich" nicht mehr aufrufbar, resp. sie läuft im hintergrund, wenn ich "zurück" Klicke, kommt ein alert und die Frage, die App zu schliessen.......

Nun möchte ich aber ein Trigger auf allen folgenden Activitys, bei ankunft einer Message. soll heissen das MessageIcon wird app:showAsAction="always" gesetzt....

Wie mach ich diesen Trigger auf den Folgenden Activitys?

Oder gehe ich das ganze Falsch an? gibt es eine art Broadcast extra für solche activity übergreifenden Listener? und könnt ihr mir ein CodeSchnipsel oder diese Klassen kurz aufzählen?

Vielen Dank im Voraus

Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

11.09.2021, 18:56:54 via Website

Hallo Volkan,

macht jede weitere Activity direkt etwas mit den Daten oder soll nur eine Benachrichtigung erscheinen?

Wenn du die Daten direkt in der Activity brauchst, wirst du nicht drumrum kommen, in jeder Activity den Listener neu zu "abonieren" d.h. einen neuen Listener zu setzen. Nach dem ActivityLifecycle solltest du den dann aber auch in onPause und onDestroy wieder entfernen.

Wenn du nur die Daten verarbeiten möchtest, könntest du auch mit einer Singleton Klasse arbeiten, die die Events entgenennimmt und deine lokale Datenstruktur pflegt. Diese könnte dann App Intern auch wieder mit Callbacks etc deine Activity benachrichtigen wenn du das brauchst.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Volkan Aydin
  • Forum-Beiträge: 187

12.09.2021, 20:13:41 via Website

Es ist das eine und andere, also, gestern habe ich so eine Singleton Klasse gemacht, doch muss die eben sehr umständlich auf die verschiedenen Views ( Einmal RecyclerView, einmal Constraint und einmal GridLayout ) Jedesmal einzeln einbetten. Sobald dies funktioniert, geht das (Popoup) auf, und ich kann ala E-mail die nachrichten behandeln....

Danke für dein input, dann lag ich nichtmal so falsch ( was ganz neues) :D

Hilfreich?
Kommentieren