- Forum-Beiträge: 7
20.06.2012, 13:56:32 via Website
20.06.2012 13:56:32 via Website
es geht um Folgendes:
Ich programmiere mir gerade eine Fahrradcomputer App.
Diese soll zunächst diese Funktionen bieten:
- Tachoanzeige mit aktueller Geschwindigkeit, Tageskilometer, Durchschnitt usw.
- Maps-Ansicht mit Anzeige der aktuellen Position
- Tracking History Funktion. Es werden alle Fahrtrouten aufgezeichnet und
man kann diese jederzeit abrufen
- Anzeige von GPS Status Informationen
Ich habe diese Funktionen jeweils in einer eigener Activity realisiert,
sie sind über einen Hauptbildschirm aufrufbar.
Die Oberflächen sind weitestgehend umgesetzt, jetzt geht es
an die programmtechnische Umsetzung der Funktionen.
Die MapView habe ich bereits integriert und die GPS Status Infos
werden auch in Echtzeit angezeigt.
Nun bin ich auf eine Problematik gestoßen, bei der ich nicht so recht weiterkomme.
Der LocationManager samt seiner Funktionen (+Konvertierungsmethoden etc.) wird ja
in mehreren Activities benötigt. Außerdem wird ein XML Writer/Reader (gpx Format)
für die Trackingfunktion implementiert werden müssen.
Diese (eigentlich) Hintergrundprozesse würde ich in einen oder mehrere Services
und damit GUI unabhängige Threads auslagern. Ist dieser Ansatz schonmal richtig?
Falls ja kann ich mir noch nicht so richtig vorstellen, wie der Austausch mit
den einzelnen Activities von statten gehen soll?! Wird dies mit dem Intentsystem
umgesetzt oder gar BroadcastReceivern? Oder ist das nicht geeignet dafür und ich
muss die Interprozesskommunikation von Java (hat erstmal nichts mit Android zutun)
verwenden?
Für einen Denkanstoß wäre ich sehr dankbar, da ich im da Moment etwas im Dunkeln tappe
und auch den richtigen Ansatz wählen möchte.
Vielen Dank schonmal!
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.