readLatestData method
Reads the latest data points of the specified data type.
Currently, only the following data types can be read:
Height: DataType.DT_INSTANTANEOUS_HEIGHT
Weight: DataType.DT_INSTANTANEOUS_BODY_WEIGHT
Heart rate: DataType.DT_INSTANTANEOUS_HEART_RATE
Stress: DataType.DT_INSTANTANEOUS_STRESS
Blood pressure: HealthDataTypes.DT_INSTANTANEOUS_BLOOD_PRESSURE
Blood glucose: HealthDataTypes.DT_INSTANTANEOUS_BLOOD_GLUCOSE
Blood oxygen: HealthDataTypes.DT_INSTANTANEOUS_SPO2
Implementation
Future<Map<DataType, SamplePoint>> readLatestData(
List<DataType> types,
String packageName,
) async {
List<Map<String, dynamic>> list = <Map<String, dynamic>>[];
for (DataType type in types) {
list.add(type.toMap());
}
final List<dynamic>? result = await _channel.invokeMethod<List<dynamic>?>(
'readLatestData',
<String, dynamic>{
'types': list,
'packageName': packageName,
},
);
Map<DataType, SamplePoint> resultMap = <DataType, SamplePoint>{};
if (result != null) {
for (dynamic map in result) {
final DataType dataType = DataType.fromMap(map['dataType']);
final SamplePoint samplePoint = SamplePoint.fromMap(map);
resultMap[dataType] = samplePoint;
}
}
return resultMap;
}