微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

观察Google健身记录中的数据更改

如何解决观察Google健身记录中的数据更改

我正在使用Googlefit android SDK收集登录并获得适当权限的用户的数据。当用户注册时,我们将调用提供的history API来收集数据,如下所示。

DataReadRequest dataReadRequest = new DataReadRequest.Builder()
                   .read(HealthDataTypes.TYPE_BLOOD_PRESSURE)
                   .setTimeRange(1,currentDateTime,TimeUnit.MILLISECONDS)
                   .setLimit(1000)
                   .enableServerQueries()
                   .build();

    fitness.getHistoryClient(this,getGoogleAccount())
        .readData(dataReadRequest)
        .addOnSuccessListener {
            @Override
            public void onSuccess(DataReadResponse dataReadResponse) {
                if (dataReadResponse.getBucket().size() > 0) {
                    for (Bucket bucket: response.getBuckets()) {
                        for (DataSet dataSet: bucket.getDataSets()) {
                            DateFormat dateFormat = getTimeInstance();

                            for (DataPoint dp: dataSet.getDataPoints()) {
                                Log.i(TAG,"Data point:");
                                Log.i(TAG,"\tType: " + dp.getDataType().getName());
                    
                                for (Field field: dp.getDataType().getFields()) {
                                    Log.i(TAG,"\tField: " + field.getName());
                                    Log.i(TAG,"\tValue: " + dp.getValue(field));
                              }
                           }
                       }

                   }
                }
            }
        }

这可以正常工作,以便首次获取用户的全部历史记录。 第一次之后,要求是在过去收集的数据中发生更新时,始终使我的本地数据库保持更新。我已经尝试了以下代码

  DataUpdateListenerRegistrationRequest.Builder builder = new DataUpdateListenerRegistrationRequest.Builder();
  builder.setPendingIntent(pendingIntent);
  if(dataSource != null) { builder.setDataSource(dataSource); }
  if(dataType != null) { builder.setDataType(dataType); }

这有助于仅跟踪活动/值的有限类型。即使使用上面的代码片段,也无法访问HealthDataTypes.TYPE_BLOOD_PRESSURE。

还有其他方法可以使用此数据吗? 有没有人想保留Google Fit历史记录的可更新本地副本? 是否可以为此订阅任何可观察/回调?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。