Hi,
ein paar Android-Apps habe ich mittlerweile schon geschrieben aber bei manchen Sachen verstehe ich die Vorgehensweise bei Android nicht und denke noch viel zu viel in Objective C.
Ich habe eine App mit der kann man eine Fahrradlampe steuern. Das ist ein privat Projekt deswegen sei jetzt der Sinn erstmal dahingestellt. Das man die Lampen bzw. die einzelnen LED's ansteuert und heller und dunkler macht geht auch schon. Nun soll man in den Einstellungen zwei Werte vor nehmen: Einmal für schnell eine Lampen Einstellung und einmal für Langsam. Sowie eine Geschwindigkeitsschwelle.
An einem konkreten Beispiel heißt das: Die Geschwindigkeitsschwelle ist 20 km/h, wenn langsam alle LED's auf 70% Prozent und wenn schnell alle LED's auf 30%. Nun soll wenn man Fahrrad fährt die App im Hintergrund die Geschwindigkeit messen. Wenn man über die Schwelle kommt also über 20 km/h soll die Einstellung für schnell sein und unter 20 km/h für langsam. Damit das nicht andauernd hin und her schalten muss da man ja beim fahren nie so exakt fährt wäre dann das umschalten erst wieder wenn die 20 km/h dauerhaft um 5 km/h unterschritten werden.
Das abspeichern ist ja kein Problem. Nur wie bekomme ich die Geschwindigkeit im Hintergrund und kann dann an die Lampe per Bluetooth die Daten senden? Die Daten sind nicht groß. Nur ein 8 Byte großes Array.
Ich habe schon mal gegoogelt aber ich finde nur Varianten, wo man die Position im Hintergrund bekommt aber nirgends die Geschwindigkeit. Im Vordergrund soll das mit LocationManager und dann getSpeed() gehen.
Hat damit jemand Erfahrung und weiß wo man sich belesen kann?
Vielen Dank!
Nils
EDIT: Mit Hintergrund meine ich auch wenn das Handy gesperrt ist. Denn man hat dann ja meistens sein Handy in der Hosentasche oder Rucksack.