Nach dem ich mich jetzt über einige Wochen hier im Forum und in Tutorials eingelesen habe, komme ich mal mit einer Frage auf euch zu. Ich bin mit Java halbwegs vertraut, jedoch mit Android nicht wirklich. Das habe ich jetzt versucht zu ändern in den letzten Wochen. Habe bisher 1-2 Activity-Apps gebastelt. Ich brauche jedoch jetzt für ein Uni Projekt eine App die Bewegungsdaten erfassen und speichern kann. Wichtig, ich brauche die Bewegungsdaten. Ohne die kann ich nicht weiter arbeiten.
Grundsätzlicher (gewünschter) Ablauf in der App
- Proband startet das Testgerät (Android 4.4.2+)
- Proband startet App "Experiment"
- Proband bekommt eine Willkommensnachricht und einen Button gezeigt
- Er drückt auf Start - die Erfassung beginnt
- Er schaltet das Gerät in den Standby Modus und steckt es in die Tasche
- Am Ende des Experiments drückt er Stop
Ablauf Erfassung/Service:
- Es wird ein SensorManager genutzt mit Sensor.TYPE_STEP_COUNTER
- Bei jedem Bewegungs Event wird der aktuelle Wert in eine Variable geschrieben.
- Der Service ruft in einem Intervall (30 Minuten) eine Berechnungsroutine auf.
- Die Routine berechnet Endwert-Anfangswert, speichert diesen Wert.
- Anhand des Wertes aus vorangegangener Berechnung wird eine Benachrichtigung erstellt, die jeweils den Wert und einen Inhalt dynamischen Inhalt anzeigt.
- Die Werte: Anfang, Ende, Differenz, Zeitstempel werden in eine TXT Datei geschrieben
- Reset des Anfangswert, damit neuer Berechnungszeitraum stattfinden kann.
Als Bonus könnte man die Schritte im letzten Zeitraum seit dem letzten "Start" in der Activity anzeigen. In einem Diagram oder so. Aber ist kein muss.
---
Nun würde ich gerne von euch wissen, wie würdet ihr an so ein Projekt gehen. Mit den nachfolgend genannten Komponenten habe ich schon bereits erfolgreich experimentiert. AlarmManger wirft einen Alarm, Notification konnte gesetzt werden. SensorManager mit EventListener bekommt Werte aus den Schritten. Alles habe ich in einer one Activity App mit Buttons und Methoden am laufen. Nur jetzt kommt der nächste Schritt zum Hintergrundservice. Dass die Werte auch immer aufgezeichnet werden, selbst wenn die App geschlossen ist, den so wie ich das gelesen/entdeckt habe, ist mein Zähler nicht mehr aktiv sobald die Activity nicht mehr aktiv ist/oder das Gerät in den Standby geht.
Welche Activities, Klassen, Methoden, Services würdet ihr anlegen? Wo Werte speichern damit ich sie von überall aus aufrufen kann.
Wie verbinde ich diese Komponenten am sinnvollsten ?
AlarmManager
Service
SensorManager
Sensor.TYPE_STEP_COUNTER
Zeitaufwand
Was schätzt ihr bis wann man so eine App umgesetzt haben kann?
Was ich bisher habe...
https://www.dropbox.com/s/fsqan8zl95n2g5a/screen.png
Als Dankeschön für eine ausführliche Antwort (vielleicht auch mit einem Klassendiagramm), werde ich demjenigen gerne etwas Gutes tun.