Ich bin seit ca. 2 Wochen im "Android Studio" (als apk) und damit in Java unterwegs...
Als eingefleischter .NET bzw C.Fan stoße ich bei Java so an einigen unerwarteten Ecken unerwartet häufig an. Hoffentlich gibt es sich noch ... ???:L
Dummerweise sind die meisten der bisher gefunden Java-Beispiele im Netz entweder unvollständig (zumindest für mich als Anfänger funktioniert das so wie beschrieben meist nicht) oder sie sind veraltet oder sind falsch oder was auch immer ... ;(
Folgendes Projekt ... (für Rufbereitschaft-Android-Handy mit API-16)
Bis auf den letzten Punkt habe ich mehr oder weniger alles zusammengefrickelt bekommen.
--> Dummerweise entfernt Android nach kurzer Zeit die App aus dem Application-Cache, wenn diese ausgeblendet wurde, so das mein 10min-Timer recht schnell nutzlos wird...
Im Web steht immer wieder irgendwas von (Boot-)Broadcast, Receiver, Services ... Entweder funktioniert der jeweilige Internet-Beispiel-Code nicht (unbekannte Klassen, veralteter Syntax, ...) oder die App verabschiedet sich direkt beim Start ... aber meist wird nur umständlich angedeutet, wie es funktionieren könnte im Java-API-Zoo ... ...
Naja ... unabhängig vom letzten Punkt sieht das bisher "Geschaffene" recht unübersichtlich aus ... wahrscheinlich wegen dem vielen Copy&Paste und meinem ungesundem Java-Halbwissen...
Deswegen, hier ein paar Fragen...
Grüße,
Hipp
Als eingefleischter .NET bzw C.Fan stoße ich bei Java so an einigen unerwarteten Ecken unerwartet häufig an. Hoffentlich gibt es sich noch ... ???:L
Dummerweise sind die meisten der bisher gefunden Java-Beispiele im Netz entweder unvollständig (zumindest für mich als Anfänger funktioniert das so wie beschrieben meist nicht) oder sie sind veraltet oder sind falsch oder was auch immer ... ;(
Folgendes Projekt ... (für Rufbereitschaft-Android-Handy mit API-16)
- Ausgabe von Inhalten einer Internetdatei in einer Activity.
- Diese Internetdatei enhält eine Zeile mit 20 aufeinanderfolgenden Ziffern.
- Jede dieser 20 Ziffern steht festdefiniert für ein überwachtes System (1=DB1-Status, 2=DB2-Status, ..., 19=Server1-Status, 20=Server2-Status) und kann 4 Zustände enthalten (0="Alles ungleich 1,2,3", 1=Ok, 2=Warnung, 3=Aktion umgehend notwendig) enthalten
- Diese 20 Systeme sollen als Liste in einer Activity ausgegeben werden (inkl. ihres jeweiligen Status)
- Automatischer Reload des Status durch einlesen der Internetdatei alle 10min (wenn Internetzugriff).
- Wenn ein Status != 0 (!=Ok) entdeckt wird, soll eine Statusbar-Info (Notification) automatisch mit dem jeweilgien Systemnamen und Status eingeblendet werden.
Bis auf den letzten Punkt habe ich mehr oder weniger alles zusammengefrickelt bekommen.
--> Dummerweise entfernt Android nach kurzer Zeit die App aus dem Application-Cache, wenn diese ausgeblendet wurde, so das mein 10min-Timer recht schnell nutzlos wird...
Im Web steht immer wieder irgendwas von (Boot-)Broadcast, Receiver, Services ... Entweder funktioniert der jeweilige Internet-Beispiel-Code nicht (unbekannte Klassen, veralteter Syntax, ...) oder die App verabschiedet sich direkt beim Start ... aber meist wird nur umständlich angedeutet, wie es funktionieren könnte im Java-API-Zoo ... ...
Naja ... unabhängig vom letzten Punkt sieht das bisher "Geschaffene" recht unübersichtlich aus ... wahrscheinlich wegen dem vielen Copy&Paste und meinem ungesundem Java-Halbwissen...
Deswegen, hier ein paar Fragen...
- Wie würdet Ihr an dieses Projet herangehen bzw. die Projekt-Struktur aufbauen?
- Start mit Main-Activity und dann in dieser den Start des Service oder können Main-Activity und Service unabhängig von einander bei App-Start gestartet werden? Wenn ja, wie?
- Wird ein Service in der Main-Activity gestartet und diese Activity wird später durch Android aus dem Application-Cache entfernt, was passiert mit dem gestarteten Service? Wird er mit der Activity entfernt oder wird dieser weiterhin ausgeführt?
- Wenn ein User durch langes Drücken der Menütaste und anschließendem Wischen eine App aus dem Application-Cache entfernt, wird deren Notification weiterhin angezeigt. Gibt es ein Event, das hierbei "geschossen" wird? Was passiert mit einem gestarteten Service? Bleibt dieser aktiv oder wird dieser auch entfernt?
- Wie bekomme ich das Ausgabe-ListView der Main-Activity an den Service übergeben ... oder soll der Service nur den "Status auslesen und ggf. die Notification einblenden und keine Ausgabe in der Main-Activity triggern?
- Wie bekomme ich es hin, dass beim Klick auf die Notification die Main-Activity geöffnet wird und wenn die Main-Activity schon offen ist, diese nicht noch ein 2.Mal geöffnet wird?
- Muss der Services (wie auch immer er gestartet wird) irgendwie / irgendwann entladen werden? Vielleicht in einem Application.onDestroy oder so? Anlaog gilt diese Frage auch zu anderen Dingen wie Handler, ...
- Ist das "android.os.Handler" sinnvoll für die Nutzung als "10-Minuten-Timer" oder gibt's da was besseres ?
- Es gibt einige wenige Einstellungen (bspw.Größe des Ausgabetextes) in einer 2. Activity. Wie würdet Ihr diese Einstellungen "dauerhaft" speichern ?
- Ist es zulässig/möglich/sinnvoll eine Klasse mit den App-Einstellungen in einer "extends Application"-Klasse zu laden und sie per Variable "App-weit für jeder Klasse bereitzustellen, ohne diese damit in jeder Klasse jedesmal neu laden zu müssen?
- Sollte "try-catch-finally" möglichst überall oder nur sparsam genutzt werden (bspw. wegen Akku, ...) ?
Grüße,
Hipp
Zuletzt bearbeitet: