将高度插入 Google Fit API 时出现字段超出范围错误
Field out of range error while inserting height into Google Fit API
这是我使用 google 适合 API 插入高度的代码。
物体高度=160.0F;
DataSource dataSource = new DataSource.Builder()
.setAppPackageName(LoginActivity.this)
.setDataType(DataType.TYPE_HEIGHT)
.setType(DataSource.TYPE_RAW)
.build();
DataSet heightDataSet = new DataSet(dataSource);
DataPoint dataPoint = heightDataSet.createDataPoint().setTimeInterval(Helper.getStartTimeOfDay(Calendar.getInstance().getTimeInMillis()),
Helper.getNow(), TimeUnit.MILLISECONDS);
if (height instanceof Integer) {
dataPoint.getValue(Field.FIELD_HEIGHT).getFormat();
dataPoint = dataPoint.setIntValues((Integer) height);
} else {
dataPoint = dataPoint.setFloatValues((Float) height);
}
heightDataSet.add(dataPoint);
Fitness.HistoryApi.insertData(App.gClient, heightDataSet).setResultCallback(new ResolvingResultCallbacks<Status>(LoginActivity.this, 0) {
@Override
public void onSuccess(Status status) {
}
@Override
public void onUnresolvableFailure(Status status) {
}
});
它给出了错误java.lang.IllegalArgumentException:字段超出范围
在第 heightDataSet.add 行(数据点);
请帮忙。
高度以米为单位,所以我认为您的意思是使用 1.6f
Fit 通常使用 SI 单位,例如米、千克、m/s 等
我在使用 TimeUnit.HOURS
而不是 TimeUnit.MILLISECONDS
时遇到了同样的错误。
这是我使用 google 适合 API 插入高度的代码。 物体高度=160.0F;
DataSource dataSource = new DataSource.Builder()
.setAppPackageName(LoginActivity.this)
.setDataType(DataType.TYPE_HEIGHT)
.setType(DataSource.TYPE_RAW)
.build();
DataSet heightDataSet = new DataSet(dataSource);
DataPoint dataPoint = heightDataSet.createDataPoint().setTimeInterval(Helper.getStartTimeOfDay(Calendar.getInstance().getTimeInMillis()),
Helper.getNow(), TimeUnit.MILLISECONDS);
if (height instanceof Integer) {
dataPoint.getValue(Field.FIELD_HEIGHT).getFormat();
dataPoint = dataPoint.setIntValues((Integer) height);
} else {
dataPoint = dataPoint.setFloatValues((Float) height);
}
heightDataSet.add(dataPoint);
Fitness.HistoryApi.insertData(App.gClient, heightDataSet).setResultCallback(new ResolvingResultCallbacks<Status>(LoginActivity.this, 0) {
@Override
public void onSuccess(Status status) {
}
@Override
public void onUnresolvableFailure(Status status) {
}
});
它给出了错误java.lang.IllegalArgumentException:字段超出范围 在第 heightDataSet.add 行(数据点); 请帮忙。
高度以米为单位,所以我认为您的意思是使用 1.6f
Fit 通常使用 SI 单位,例如米、千克、m/s 等
我在使用 TimeUnit.HOURS
而不是 TimeUnit.MILLISECONDS
时遇到了同样的错误。