# Background Service Daten verarbeiten/Schleife ect.



## wer112 (7. Jul 2022)

Ihr wisst, dass ich  noch nie Hintergrund Prozesse machen konnte. Ich frage, wie ich dies richtig und Profissonell umsetzen kann. 
Ich trage in der Mainifest den Service ein. Und ich muss es als extends den Service deklarieren. Ich hole die Verschiedene Infos immer auf den verschiedene Fragmente ab. 

Ich benötige entweder mehrere Hintergrund Prozesse oder ein Hintergrund Prozess, wo mehrere Thraeds gemacht wird.

Ich habe 3 Bereiche, die Abgefragt werden müssen: App *Einstellungen/App Farben, Guthaben und Apps Überprüfung*, ob was aktualliesiert werden müsste. Manche Sache müssen automatisch aktualliesiert werden und manche nur bei Veränderung. 
ICh weiß nicht, wie das alles geht, bzw. was richtig ist, deswegen mehrere Möglichkeiten. Sollte was falsch sein oder wie ich die drei Bereiche schnell gleichzeitig mit Volley abfragen kann und die Ergebniss weiter bearbeiten kann, könnt ihr gerne euren Idee/Vorschlag reinschreiben...

Alle Variablen werden dort eingetragen, sobald die geladen wurden ist.

Frage: Wie bekomme ich von einer Activity(Steuerung) von dem Background Variablen?
z.B.:  

Background Service:

String guthaben = "20,69€";
String kundennummer = "123Daidh34";
Integer angemeldetBleiben = 1;

Steuerung Activity:

String guthaben = new BackgraundService.getString("guthaben"); 
String kundennummer = new BackgraundService.getString("kundennummer");
Integer angemeldetBleiben = new BackgraundService.getString("angemeldetBleiben");

Ich weiß, dass es falsch ist. Wenn ich alle Variablen dort stehn habe, muss ich in Fragmente die Variablen ja setzen, um darauf zugreifen können.


Frage 2: Soll der BackgroundService schon im Login gestarten werden, damit es schneller ist oder lieber in der Steuerung?
Frage 3: soll man eine unendliche While Schleife mit mehreren Thraeds machen bzw. eine unendliche While schleife, wo Volley abgewartet wird, bis es fertig ist und dann das nächste Volley und dann ein Sleep...

Frage 4: Kann man in der Oncreat mit einer Methode starten und bei der Response eine andere Methode aufruft, um das zu bearbeiten und wenn es fertig ist, wird eine andere Volley Methode aufgerufen und dann dort im Response eine andere um es zu bearbeiten...

Frage 5: in der Oncreat kommt eine Unendliche While Schleife, wo drei Threads eröffnet wird, die drei Methoden benutzen und das über die Methode laufen?

Sorry, dass ich da kein blassen Schimmer habe, wie es richtig geht. 

Der Background Service soll so lange gehen, bis man die Aoo verlässt und dann Stoppen(onStop/onDestroy), wenn der abgemeldet sein möchte oder unbegrentz lange...

Ich hoffe ihr habt eine eigene Meihnung wie es Proffisonell klappen soll oder ne Idee habt. Ich bin für jede Hilfe sehr dankbar...


----------



## osion (19. Dez 2022)

Frage 1: Wie kann ich von einer Activity auf Variablen in einem Hintergrundprozess zugreifen?

Eine Möglichkeit wäre, den Hintergrundprozess als Service zu implementieren und über eine bindende Verbindung auf die Variablen des Services zuzugreifen. Sie könnten auch Broadcasts verwenden, um Daten von einem Service an eine Activity zu senden.

Frage 2: Soll der Hintergrundprozess beim Login gestartet werden oder lieber in der Steuerung?

Das hängt davon ab, welche Funktionalität der Hintergrundprozess bereitstellen soll. Wenn der Hintergrundprozess wichtige Aufgaben ausführen soll, die für den Betrieb der App erforderlich sind, sollte er möglicherweise beim Start der App gestartet werden. Wenn der Hintergrundprozess jedoch Aufgaben ausführen soll, die nur in bestimmten Situationen erforderlich sind, könnte es sinnvoller sein, ihn in der Steuerung zu starten.

Frage 3: Soll ich eine unendliche While-Schleife mit mehreren Threads oder eine unendliche While-Schleife mit Volley verwenden?

Es wäre nicht empfehlenswert, eine unendliche While-Schleife zu verwenden, um Aufgaben im Hintergrund auszuführen. Stattdessen sollten Sie in Betracht ziehen, Aufgaben im Hintergrund mit einem JobScheduler oder einem WorkManager zu verarbeiten. Diese APIs bieten viele Vorteile im Vergleich zu einer unendlichen While-Schleife, wie zum Beispiel die Möglichkeit, Aufgaben im Hintergrund zu planen und den Energieverbrauch zu optimieren.

Frage 4: Kann ich in der onCreate-Methode mit einer Methode starten und bei der Response eine andere Methode aufrufen?

Ja, Sie können in der onCreate-Methode eine Methode aufrufen und in der Response einer Anfrage eine andere Methode aufrufen. Sie könnten zum Beispiel eine Netzwerkanfrage mit Volley starten und in der onResponse-Methode des ResponseListeners die Bearbeitung der Antwort durchführen.

Frage 5: Kann ich in der onCreate-Methode eine unendliche While-Schleife mit drei Threads starten, die drei Methoden aufrufen und diese über eine Methode ausführen?

Es wäre nicht empfehlenswert


----------

