文档管理中心

ActivitySummary

展开

Class Info

public class ActivitySummary

活动统计类。

Public Constructor Summary

展开

Constructor Name

ActivitySummary()

活动概要信息的构造方法。

Public Method Summary

展开

Qualifier and Type

Method Name and Description

SamplePoint

getActivityFeature()

获取活动特征数据点。

List<SamplePoint>

getDataSummary()

返回统计数据点列表。

List<SampleSection>

getSectionSummary()

返回运动分段统计数据列表。

PaceSummary

getPaceSummary()

返回运动记录配速统计信息。

void

setActivityFeature(SamplePoint activityFeature)

设置运动记录特征数据点。

void

setDataSummary(List<SamplePoint> dataSummary)

设置统计数据点集合。

void

setSectionSummary(List<SampleSection> sectionSummary)

设置运动分段统计数据列表。

void

setPaceSummary(PaceSummary paceSummary)

设置运动记录配速统计信息。

Public Constructors

ActivitySummary()

展开

Constructor

public ActivitySummary()

活动概要信息的构造方法。

Public Methods

getPaceSummary()

展开

Method

public SampleSection getPaceSummary()

返回运动记录配速统计信息。

Returns

展开

Type

Description

SampleSection

返回运动记录配速统计信息。

getDataSummary()

展开

Method

public List<SamplePoint> getDataSummary()

获取统计数据点列表。

Returns

展开

Type

Description

List<SamplePoint>

返回统计数据点。

getSectionSummary()

展开

Method

public List<SampleSection> getSectionSummary()

获取运动分段统计数据列表。

Returns

展开

Type

Description

List<SampleSection>

返回运动分段统计数据列表。

getActivityFeature()

展开

Method

public SamplePoint getActivityFeature()

获取活动特征数据点。

Returns

展开

Type

Description

SamplePoint

返回活动特征数据点。

setDataSummary(List<SamplePoint> dataSummary)

展开

Method

public void setDataSummary(List<SamplePoint> dataSummary)

设置统计数据点集合。

说明

设置统计数据点集合时,请注意运动记录类型和统计数据点集合的关联关系,否则可能开发者创建的运动记录数据不能正常上传到HealthKit服务器,具体详见运动记录数据类型。例如可以通过以下代码,创建一个跑步运动记录

Java
Kotlin
// 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

统计数据点集合。

setSectionSummary(List<SampleSection> sectionSummary)

展开

Method

public void setSectionSummary(List<SampleSection> sectionSummary)

设置运动分段统计数据列表。

Parameters

展开

Name

Description

sectionSummary

运动分段统计数据列表。

setPaceSummary(PaceSummary paceSummary)

展开

Method

public void setPaceSummary(PaceSummary paceSummary)

设置运动记录配速统计信息。

Parameters

展开

Name

Description

paceSummary

配速统计信息。

setActivityFeature(SamplePoint activityFeature)

展开

Method

public void setActivityFeature(SamplePoint activityFeature)

设置运动记录特征数据点。

Parameters

展开

Name

Description

activityFeature

活动特征数据点。

搜索
请输入您想要搜索的关键词