2016-11-21 3 views
0

Ich versuche derzeit, eine Google Fit Android-Anwendung zu implementieren. Ich möchte aggregierte Werte lesen, die von der Anwendung erstellt wurden. Dies funktioniert gut für alle außer einer Datenquelle, nämlich com.google.cycling.wheel_revolution.rpm.Google Fit - Aggregate Wheel RPM-Daten

In der Entwicklerdokumentation zu aggregierten Datentypen (https://developers.google.com/fit/android/data-types#data_types_for_aggregate_data) gibt es keinen dedizierten aggregierten Datentyp für die Raddrehung.

Wenn ich versuche, die Radumdrehung Datentyp zu aggregieren ich folgende Fehlermeldung erhalten:

Unsupported input data type specified for aggregation: DataType{com.google.cycling.wheel_revolution.rpm[rpm(f)]}

Ist es möglich, die Radumdrehung zu aggregieren? Wenn nicht, wie kann ich definiere einen benutzerdefinierten Datentyp mit einem benutzerdefinierten Aggregation-Datentyp enthält, min, max, Durchschnitt ähnlich wie com.google.heart_rate.bpm und com.google.heart_rate.summary

Mit freundlichen Grüßen Markus

PS: Wenn ich versuche, den REST-API mich zu aggregieren mit eine Antwort mit leeren Datenpunkten erhalten. Das ist mein Wunsch Körper:

{ "startTimeMillis": 1479678504211, "endTimeMillis": 1479682677569, "aggregateBy": [ { "dataTypeName": ":com.google.cycling.wheel_revolution.rpm.summary", "dataSourceId": "raw:com.google.cycling.wheel_revolution.rpm:[my_application_id]:" } ], "bucketByTime": { "durationMillis": 60000 } }

+0

Von Ihrem Fehler "Nicht unterstützter Eingabedatentyp, der für Aggregation Wheel_revolution angegeben wurde" bedeutet, dass Ihre Daten für diese Aggregation nicht unterstützt werden. Stellen Sie daher sicher, dass Ihre Eingabedaten gültig sind und in [docu] (https://developers.google.com/android/reference/com/google/android/gms/fitness/data/DataType.html#TYPE_CYCLING_WHEEL_RPM) angegeben sind) dass für diese Aggregation die Startzeit nicht gesetzt werden soll. Die verschiedenen Datenquellen überwachen die RPMs für unterschiedliche Zeiträume vor der Berechnung der RPM. Dies sollte als Teil der Datenquelle und nicht als Datenpunkt angegeben werden. – KENdi

Antwort

0

Da es Aggregation für Radumdrehung aussieht, ist nicht möglich. Gemäß der Dokumentation (Documentation) gibt die Funktion List<DataType> getAggregatesForInput (DataType inputDataType) den Aggregationsdatentyp für einen gegebenen Eingang zurück. Das Ergebnis ist leer für com.google.cycling.wheel_revolution.rpm.

Daher ist die Aggregation für wheel_revolution.rpm nicht möglich. Und wahrscheinlich wird es auch nicht für benutzerdefinierte Datentypen funktionieren (noch nicht getestet).