- Forum-Beiträge: 2
21.02.2020, 11:47:40 via Website
21.02.2020 11:47:40 via Website
Hallo ihr Lieben,
ich habe mich neu im Forum angemeldet, weil ich ein kleines allgemeines Problem bei der Android Programmierung habe, was ich bisher nicht lösen konnte.
Ich habe eine App programmiert, die über API-Schnittstelle eines kleineren unbekannteren Webportals, Preise zu Artikeln ausliest und diese dann über SQL Lite speichert. So habe ich die Möglichkeit mir eine Preishistorie über längere Zeit anzeigen zu lassen und unter gewissen Umständen erhalte ich Pushnachrichten, um mich über Preisänderungen zeitnah zu informieren.
Das funktioniert alles wunderbar, jedoch nur, wenn ich die Applikation auf dem Mobiltelefon auch gestartet habe.
Ich hätte nun gerne aber eine Funktion, die ähnlich wie WhatsApp im Hintergrund abfragt, ob zum Beispiel Preisänderungen stattgefunden haben, da ich die App ja nicht rund um die Uhr laufen lassen möchte (zumindest nicht im Vordergrund).
Ich habe versucht mich hier mal drüber schlau zu machen und dazu die Klassen Service und Broadcastreceiver gefunden. Ich habe mich dazu mal ein bisschen belesen, wollte aber mal fragen, ob ich damit grundsätzlich das erreiche, was ich möchte?
Wenn ich richtig verstanden habe, dann läuft der Service im Hintergrund tatsächlich ab und der Broadcastreceiver meiner Applikation kann diese Informationen dann aufnehmen und verarbeiten, richtig?
Des weiteren frage ich mich, ob es gut ist die ganzen Ermittlungsroutinen auf dem Handy ablaufen zu lassen. Da ich in Zukunft noch einige Foren implementieren möchte (Stichwort Crawler) glaube ich, dass sich das ganz schön auf den Akku auswirkt.
Ich habe zu hause ein NAS, dass auch als Webserver fungieren kann und überlegt, ob es eine Möglichkeit gibt, eine App zu programmieren, die auf dem Server läuft und Berechnungen durchführt und meine Applikation quasi nur noch einen Listener auf Rückmeldungen hat.
Bin ich da auf dem falschen Dampfer oder ist das so möglich, wie ich mir das denke?
Vielen Dank im Voraus für eure Nachrichten.