Daten aus Google Fit lesen und Werte schreiben

Über Googles Play-Services greifen Android-Apps auf Daten in Google Fit zu. Wir zeigen an einem Körperfett-Beispiel, wie einfach man Daten auswerten kann.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesen und Schreiben auf Google Fit in eigenen Apps mithilfe der Play-Services

(Bild: Albert Hulm)

Lesezeit: 8 Min.
Inhaltsverzeichnis

Mit einer Caliper-Zange bestimmen Sie Ihren Körperfettanteil. Man nutzt sie, indem man an verschiedenen Körperstellen Speckfalten zwischen zwei Finger klemmt und misst, wie dick die Falte ist. Die gemessenen Faltendicken muss man allerdings in komplizierte Formeln einsetzen, um den Körperfettanteil zu berechnen. Das wollten wir nicht per Hand ausrechnen und haben deswegen mit Kotlin eine Android-App programmiert. Die führt mit anschaulichen Bildern durch die Messung in mehreren Schritten und rechnet danach automatisch den Körperfettanteil aus.

Für das Diagramm nutzt die App die Werte aus Google Fit. Die können auch von anderen Apps stammen, da der Fettanteil einer der Standard-Datentypen ist.

Um einen Überblick zu bekommen, wie er sich mit der Zeit verändert, kommt Google Fit ins Spiel. Die Fitness-Datenbank speichert den Fettanteil im Datentyp DataType.TYPE_BODY_FAT_PERCENTAGE, sodass die Daten nicht nur der eigenen Kotlin-App, sondern auch beliebigen anderen Apps mit Zugriff auf Google Fit offenstehen. Außerdem zeichnet unsere App ein schickes Diagramm mit allen Körperfettwerten aus Google Fit.

Smartes Training: Fit in den Sommer

Entgegen der Codebeispiele in Googles Dokumentation muss die App keinerlei Berechtigungen (Permissions) anfordern. Sie greift nicht direkt aufs Internet zu, da sie die Play-Services nutzt. Die Play-Services nutzen selbst die Internet-Berechtigung, aber das AndroidManifest.xml der eigenen App muss das nicht erwähnen. Die Beispiele von Google erlauben sich auch den Zugriff auf den Standort, unsere App konnte sich aber auch ohne Zugriff auf diesen problemlos bei Google anmelden. Ähnlich verhält es sich mit android.permission.BODY_SENSORS. Die Caliper-App gibt sich bei Google Fit zwar als Sensor aus, der Rohdaten produziert, dem Android-System muss man dafür aber keine Rechte abringen, weil sie nichts etwa per Bluetooth koppelt. Für einige andere Fit-Datentypen braucht man die Berechtigung aber.