智能客服
你问我答,随时在线为你解决问题
| Class Info |
|---|
| public class ActivitySummary 活动统计类。 |
| Constructor Name |
|---|
| 活动概要信息的构造方法。 |
| Qualifier and Type | Method Name and Description |
|---|---|
| 获取活动特征数据点。 | |
| List<SamplePoint> | 返回统计数据点列表。 |
| List<SampleSection> | 返回运动分段统计数据列表。 |
| 返回运动记录配速统计信息。 | |
| void | setActivityFeature(SamplePoint activityFeature) 设置运动记录特征数据点。 |
| void | setDataSummary(List<SamplePoint> dataSummary) 设置统计数据点集合。 |
| void | setSectionSummary(List<SampleSection> sectionSummary) 设置运动分段统计数据列表。 |
| void | setPaceSummary(PaceSummary paceSummary) 设置运动记录配速统计信息。 |
| Constructor |
|---|
| public ActivitySummary() 活动概要信息的构造方法。 |
| Method |
|---|
| public SampleSection getPaceSummary() 返回运动记录配速统计信息。 |
Returns
| Type | Description |
|---|---|
| 返回运动记录配速统计信息。 |
| Method |
|---|
| public List<SamplePoint> getDataSummary() 获取统计数据点列表。 |
Returns
| Type | Description |
|---|---|
| List<SamplePoint> | 返回统计数据点。 |
| Method |
|---|
| public List<SampleSection> getSectionSummary() 获取运动分段统计数据列表。 |
Returns
| Type | Description |
|---|---|
| List<SampleSection> | 返回运动分段统计数据列表。 |
| Method |
|---|
| public SamplePoint getActivityFeature() 获取活动特征数据点。 |
Returns
| Type | Description |
|---|---|
| 返回活动特征数据点。 |
| Method |
|---|
| public void setDataSummary(List<SamplePoint> dataSummary) 设置统计数据点集合。 |
设置统计数据点集合时,请注意运动记录类型和统计数据点集合的关联关系,否则可能开发者创建的运动记录数据不能正常上传到HealthKit服务器,具体详见运动记录数据类型。例如可以通过以下代码,创建一个跑步运动记录。
// 1.构造请求对象的时间区间:开始和结束时间
Context context = getApplicationContext();
Calendar cal = Calendar.getInstance();
Date now = new Date();
cal.setTime(now);
long endTime = cal.getTimeInMillis();
cal.add(Calendar.HOUR_OF_DAY, -1);
long startTime = cal.getTimeInMillis();
// 2.构造运动记录配速对象PaceSummary
// ActivitySummary中的PaceSummary用来承载配速统计数据
ActivitySummary activitySummary = new ActivitySummary();
PaceSummary paceSummary = new PaceSummary();
paceSummary.setAvgPace(247.27626);
paceSummary.setBestPace(212.0);
paceSummary.setPartTimeMap((Map<String, Double>) new HashMap<>().put(1.0, 456));
paceSummary.setPaceMap((Map<String, Double>) new HashMap<>().put(1.0, 263));
paceSummary.setPartTimeMap((Map<String, Double>) new HashMap<>().put(1.0, 263));
paceSummary.setSportHealthPaceMap((Map<String, Double>) new HashMap<>().put(102802480, 535));
activitySummary.setPaceSummary(paceSummary);
// 3.创建一个步数统计数据采集器
DataCollector dataCollector2 = new com.huawei.hms.hihealth.data.DataCollector.Builder()
.setDataType(DataType.DT_CONTINUOUS_STEPS_TOTAL)
.setDataGenerateType(DataCollector.DATA_TYPE_RAW)
.setPackageName(context)
.setDataCollectorName("test1")
.build();
// 构造一个速度统计数据采集器
DataCollector dataCollector20 = new com.huawei.hms.hihealth.data.DataCollector.Builder()
.setDataType(DataType.POLYMERIZE_CONTINUOUS_SPEED_STATISTICS)
.setDataGenerateType(DataCollector.DATA_TYPE_RAW)
.setPackageName(context)
.setDataCollectorName("test1")
.build();
// 4.根据统计数据采集器,构造统计数据样本点,并添加至DataSummary对象
// 创建步数统计数据采样点
SamplePoint samplePoint = new SamplePoint.Builder(dataCollector2).build();
samplePoint.setTimeInterval(startTime + 1L, startTime + 300000L, TimeUnit.MILLISECONDS);
samplePoint.getFieldValue(Field.FIELD_STEPS).setIntValue(352);
// 创建速度统计数据采样点
SamplePoint samplePoint20 = new SamplePoint.Builder(dataCollector20).build();
samplePoint20.setTimeInterval(startTime + 1L, startTime + 300000L, TimeUnit.MILLISECONDS);
samplePoint20.getFieldValue(Field.FIELD_AVG).setDoubleValue(6.0d);
samplePoint20.getFieldValue(Field.FIELD_MIN).setDoubleValue(4.0d);
samplePoint20.getFieldValue(Field.FIELD_MAX).setDoubleValue(8.0d);
// ActivitySummary中的DataSummary用来承载统计数据
List<SamplePoint> dataSummary = new ArrayList<>();
dataSummary.add(samplePoint);
dataSummary.add(samplePoint20);
activitySummary.setDataSummary(dataSummary);
// 5.构造运动记录,设置统计数据ActivitySummary对象
ActivityRecord activityRecord = new ActivityRecord.Builder()
.setName("AddActivityRecord")
.setDesc("This is ActivityRecord add test!")
.setId("MyAddActivityRecordId")
.setActivityTypeId(HiHealthActivities.RUNNING)
.setStartTime(startTime, TimeUnit.MILLISECONDS)
.setEndTime(endTime, TimeUnit.MILLISECONDS)
.setActivitySummary(activitySummary)
.setTimeZone("+0800")
.build(); // 1.构造请求对象的时间区间:开始和结束时间
val context = getApplicationContext < Context > ()
val cal = Calendar.getInstance()
val now = Date()
cal.setTime(now)
val endTime = cal.getTimeInMillis()
cal.add(Calendar.HOUR_OF_DAY, -1)
val startTime = cal.getTimeInMillis()
// 2.构造运动记录配速对象PaceSummary
// ActivitySummary中的PaceSummary用来承载配速统计数据
val activitySummary = ActivitySummary()
val paceSummary = PaceSummary()
paceSummary.avgPace = 247.27626
paceSummary.bestPace = 212.0
paceSummary.partTimeMap = HashMap().put(1.0, 456)
paceSummary.paceMap = HashMap().put(1.0, 263)
paceSummary.partTimeMap = HashMap().put(1.0, 263)
paceSummary.sportHealthPaceMap = HashMap().put(102802480, 535)
activitySummary.paceSummary = paceSummary
// 3.创建一个步数统计数据采集器
val dataCollector2 = com.huawei.hms.hihealth.data.DataCollector.Builder()
.setDataType(DataType.DT_CONTINUOUS_STEPS_TOTAL)
.setDataGenerateType(DataCollector.DATA_TYPE_RAW)
.setPackageName(context)
.setDataCollectorName("test1")
.build()
// 构造一个速度统计数据采集器
val dataCollector20 = com.huawei.hms.hihealth.data.DataCollector.Builder()
.setDataType(DataType.POLYMERIZE_CONTINUOUS_SPEED_STATISTICS)
.setDataGenerateType(DataCollector.DATA_TYPE_RAW)
.setPackageName(context)
.setDataCollectorName("test1")
.build()
// 4.根据统计数据采集器,构造统计数据样本点,并添加至DataSummary对象
// 创建步数统计数据采样点
val samplePoint = SamplePoint.Builder(dataCollector2).build()
samplePoint.setTimeInterval(startTime + 1 L, startTime + 300000 L, TimeUnit.MILLISECONDS)
samplePoint.getFieldValue(Field.FIELD_STEPS).setIntValue(352)
// 创建速度统计数据采样点
val samplePoint20 = SamplePoint.Builder(dataCollector20).build()
samplePoint20.setTimeInterval(startTime + 1 L, startTime + 300000 L, TimeUnit.MILLISECONDS)
samplePoint20.getFieldValue(Field.FIELD_AVG).setDoubleValue(6.0 d)
samplePoint20.getFieldValue(Field.FIELD_MIN).setDoubleValue(4.0 d)
samplePoint20.getFieldValue(Field.FIELD_MAX).setDoubleValue(8.0 d)
// ActivitySummary中的DataSummary用来承载统计数据
val dataSummary = ArrayList()
dataSummary.add(samplePoint)
dataSummary.add(samplePoint20)
activitySummary.dataSummary = dataSummary
// 5.构造运动记录,设置统计数据ActivitySummary对象
val activityRecord = ActivityRecord.Builder()
.setName("AddActivityRecord")
.setDesc("This is ActivityRecord add test!")
.setId("MyAddActivityRecordId")
.setActivityTypeId(HiHealthActivities.RUNNING)
.setStartTime(startTime, TimeUnit.MILLISECONDS)
.setEndTime(endTime, TimeUnit.MILLISECONDS)
.setActivitySummary(activitySummary)
.setTimeZone("+0800")
.build()Parameters
| Name | Description |
|---|---|
| dataSummary | 统计数据点集合。 |
| Method |
|---|
| public void setSectionSummary(List<SampleSection> sectionSummary) 设置运动分段统计数据列表。 |
Parameters
| Name | Description |
|---|---|
| sectionSummary | 运动分段统计数据列表。 |
| Method |
|---|
| public void setPaceSummary(PaceSummary paceSummary) 设置运动记录配速统计信息。 |
Parameters
| Name | Description |
|---|---|
| paceSummary | 配速统计信息。 |
| Method |
|---|
| public void setActivityFeature(SamplePoint activityFeature) 设置运动记录特征数据点。 |
Parameters
| Name | Description |
|---|---|
| activityFeature | 活动特征数据点。 |