简体   繁体   English

将高度插入Google Fit API时出现栏位错误

[英]Field out of range error while inserting height into Google Fit API

This is my code to insert height using google fit API. 这是我使用Google Fit API插入高度的代码。 Object height=160.0F; 物体高度= 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) {

        }
    });

It gives the error java.lang.IllegalArgumentException: Field out of range at line heightDataSet.add(dataPoint); 它给出错误java.lang.IllegalArgumentException:字段超出范围 ,在行heightDataSet.add(dataPoint); Please help. 请帮忙。

Heights are in meters so I think you mean to use 1.6f 高度以米为单位,所以我认为您的意思是使用1.6f

Fit as a rule uses SI units so Meters, kg, m/s etc. 通常适合使用SI单位,因此,米,kg,m / s等。

使用TimeUnit.HOURS而不是TimeUnit.MILLISECONDS时,出现了相同的错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM