小米健康云Android SDK使用指南

现阶段本产品只对小米生态链企业及合作伙伴正式开放.

使用说明

这里介绍如何配置和使用小米健康云Android客户端SDK,您也可以参照Demo来配置和使用小米健康云。

在使用小米健康云前,开发者需要先登录小米开发者网站http://dev.xiaomi.com。注册App,申请对应的AppID, AppKey等等信息。

其中AppID和AppKey是客户端的应用标识,在客户端SDK初始化时使用。

配置AndroidManifest.xml文件

SDK支持的最低安卓版本为2.2。

配置需要的权限。*

<uses-permission android:name="android.permission.INTERNET" />

使用SDK

使用小米健康云SDK时,一般而言开发者需要遵循以下步骤:

1. 接入小米账号的SDK,通过OAuth的方式,获取用户的OAuth token。 2. 使用appid和OAuth token初始化SDK。 3. 根据DataType,创建DataSource。 4. 将数据封装成DataPoint,将多个DataPoint封装成DataSet,然后上传。

API说明

FitSDK

FitSDK是小米健康云在Android平台的接入类,其方法列表如下:

FitSDK方法列表

API 功能
void setToken(String appId, String accessToken) 设置appid和OAuth token.
FitSDKHttpResponse createDataSource(final String dataSourceName, final DataSourceType dataSourceType, final DataType dataType, final Device device, final Application application);``` 创建数据源。
FitSDKHttpResponse getDataSourceById(String dataSourceId); 来获取id值为dataSourceId的DataSource。
FitSDKHttpResponse> getDataSourceByType(String dataTypeName); 根据DataType来查询DataSource。
FitSDKHttpResponse deleteDataSource(String dataSourceId); 删除id值为dataSourceId的DataSource。
FitSDKHttpResponse updateDataSource(DataSource dataSource); 更新某个特定DataSource的信息。
FitSDKHttpResponse uploadDataSet(DataSet dataSet); 客户端收集DataPoints,把DataPoints添加到DataSets中,然后把dataset上传给服务端。
FitSDKHttpResponse getDataSet(String dataSourceId, long startTime, long endTime, int limit, String pageToken); 获取DataSet。
FitSDKHttpResponse deleteDataSet(long startTime, long endTime, String dataSourceId); ``` 删除DataSet。

方法详细说明

void setToken(String appId, String accessToken)

注册SDK, 提供小米账号系统生产的token。建议在程序启动时执行

参数列表 参数说明
String appId app在小米开发者站的appId
String accessToken 用户的小米账号的OAuth token

FitSDKHttpResponse<DataSource> createDataSource(final String dataSourceName, final DataSourceType dataSourceType, final DataType dataType, final Device device, final Application application);

创建数据源。

参数列表 参数说明
String dataSourceName dataSourceName名称
DataSourceType dataSourceType dataSource类型,有raw和derived两种类型
DataType dataType data类型
Device device 设备信息
Application application app信息

FitSDKHttpResponse<DataSource> getDataSourceById(String dataSourceId);

根据dataSourceId,获取对应DataSource对象的详情。

参数列表 参数说明
String dataSourceId DataSource的Id

FitSDKHttpResponse<List<DataSource>> getDataSourceByType(String dataTypeName);

根据DataType的名字,查询所有对用户可见的DataSources。

参数列表 参数说明
String dataTypeName DateType的名字

FitSDKHttpResponse<Object> deleteDataSource(String dataSourceId);

删除id为dataSourceId的Data Source。

参数列表 参数说明
String dataSourceId DataSource的Id

FitSDKHttpResponse<DataSource> updateDataSource(DataSource dataSource);

更新某个特定DataSource的信息.

参数列表 参数说明
DataSource dataSource 需要更新的datasource

FitSDKHttpResponse<Object> uploadDataSet(DataSet dataSet);

上传DataSet。客户端收集的DataPoint需要组合成DataSet再上传。DataSet只是一个数据传输结构,服务端并不存储DataSet本身,而只是存储DataSet中包含的DataPoints.

参数列表 参数说明
DataSet dataSet 上报的DataPoint集合

FitSDKHttpResponse<DataSet> getDataSet(String dataSourceId, long startTime, long endTime, int limit, String pageToken);

获取某DataSource下的DataPoint,以DataSet的方式返回。该方法会返回一个 DataSet,DataSet中包含所有endTimeNanos落在[startTime, endTime)区间的DataPoint。如果符合条件的DataPoint超过limit限制,则返回limit个DataPoint,并且设置 nextPageToken;下一次请求时,需要带上nextPageToken以标示上次请求的位置。

参数列表 参数说明
String dataSourceId dataSourceID
long startTime 开始时间,单位ns(纳秒)。
long endTime 结束时间,单位ns(纳秒),不包含。
int limit 返回的data point的数量上限。
String pageToken 分页请求上一次请求的token,用来标示返回结果在整个结果集中的位置。

FitSDKHttpResponse<Object> deleteDataSet(long startTime, long endTime, String dataSourceId);

删除某个特定时间段中的DataPoint。endTimeNanos落在[startTime, endTime)中的DataPoint将会被删除。

参数列表 参数说明
String dataSourceId dataSourceID
long startTime 开始时间,单位ns(纳秒)。
long endTime 结束时间,单位ns(纳秒),不包含。

常见问题

在集成过程中遇到任何问题,请联系我们:DevFit@xiaomi.com