小米健康云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 |
创建数据源。 |
FitSDKHttpResponse |
来获取id值为dataSourceId的DataSource。 |
FitSDKHttpResponse
|
根据DataType来查询DataSource。 |
FitSDKHttpResponse | 删除id值为dataSourceId的DataSource。 |
FitSDKHttpResponse |
更新某个特定DataSource的信息。 |
FitSDKHttpResponse | 客户端收集DataPoints,把DataPoints添加到DataSets中,然后把dataset上传给服务端。 |
FitSDKHttpResponse |
获取DataSet。 |
FitSDKHttpResponse | 删除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