实时Google Fit会话

时间:2016-05-30 01:24:22

标签: google-fit

我正在开展健身活动跟踪器应用,我对Google Fit Sessions API有几个问题。

Google Fit Session guide开始,如果我们要创建包含实时数据的会话,我们需要使用方法Session.Builder.setStartTime(long,TimeUnit)指定开始时间,然后调用方法startSession

问题1 :如果我们使用的是实时数据,我们可以设置该会话的结束时间吗?如果我们已经定义了endTime,我们还需要调用stopSession方法吗?

在文档中,使用指定的开始时间和结束时间创建示例会话,然后将示例数据添加到该会话。

问题2 :您如何使用实时数据创建SessionInsertRequest会话?如何从DataSet中获取DataSource实时记录SessionInsertRequest.Builder.addDataSet(DataSet)方法?

问题3 :我已经有了这种方法来查找我的DataSource;我是否仍需要创建一个新的DataSource对象来获取DataSet对象(在此主题中回答:DataSet Object for the Google Fit API)?

方法:

private void findFitnessDataSources() {
    Fitness.SensorsApi.findDataSources(mClient, new DataSourcesRequest.Builder()
            .setDataTypes(DataType.TYPE_STEP_COUNT_DELTA)
            .setDataSourceTypes(DataSource.TYPE_DERIVED)
            .build())
            .setResultCallback(new ResultCallback<DataSourcesResult>() {
                @Override
                public void onResult(DataSourcesResult dataSourcesResult) {
                    Log.i(TAG, "Result: " + dataSourcesResult.getStatus().toString());
                    for (DataSource dataSource : dataSourcesResult.getDataSources()) {
                        Log.i(TAG, "Data source found: " + dataSource.toString());
                        Log.i(TAG, "Data Source type: " + dataSource.getDataType().getName());

                        //Let's register a listener to receive Activity data!
                        if (dataSource.getDataType().equals(DataType.TYPE_STEP_COUNT_DELTA)
                                && mListener == null) {
                            Log.i(TAG, "Data source for LOCATION_SAMPLE found!  Registering.");
                            registerFitnessDataListener(dataSource,
                                    DataType.TYPE_STEP_COUNT_DELTA);
                        }
                    }
                }
            });
    //just temporarily return datasource for testing purpose
}

问题4 :如何修改我的方法以返回在会话生成器中使用的dataSource

谢谢。

0 个答案:

没有答案