public static class HealthDataResolver.AggregateRequest.Builder extends Object
HealthDataResolver.AggregateRequest
Builder()
HealthDataResolver.AggregateRequest.Builder
addFunction(HealthDataResolver.AggregateRequest.AggregateFunction aggregate, String property, String alias)
addGroup(String property, String alias)
build()
setDataType(String type)
setFilter(HealthDataResolver.Filter filter)
setLocalTimeRange(String timeProperty, String offsetProperty, long begin, long end)
TIME_OFFSET
setPackageName(String packageName)
setSort(String property, HealthDataResolver.SortOrder sortOrder)
setSourceDevices(List<String> uuidList)
setTimeGroup(HealthDataResolver.AggregateRequest.TimeGroupUnit unit, int amount, String timeProperty, String alias)
HealthDataResolver.AggregateRequest.TimeGroupUnit
setTimeGroup(HealthDataResolver.AggregateRequest.TimeGroupUnit unit, int amount, String timeProperty, String offsetProperty, String alias)
public Builder()
public HealthDataResolver.AggregateRequest.Builder setDataType(String type)
type
HEALTH_DATA_TYPE
public HealthDataResolver.AggregateRequest.Builder setFilter(HealthDataResolver.Filter filter)
filter
public HealthDataResolver.AggregateRequest.Builder setPackageName(String packageName)
packageName
public HealthDataResolver.AggregateRequest.Builder setSourceDevices(List<String> uuidList)
uuidList
public HealthDataResolver.AggregateRequest.Builder setTimeGroup(HealthDataResolver.AggregateRequest.TimeGroupUnit unit, int amount, String timeProperty, String alias)
unit
amount
HealthDataResolver.AggregateRequest.TimeGroupUnit.HOURLY
The amount value for each time group unit is defined in advance. Be mindful to use only the values below.
HealthDataResolver.AggregateRequest.TimeGroupUnit.MINUTELY
HealthDataResolver.AggregateRequest.TimeGroupUnit.DAILY
HealthDataResolver.AggregateRequest.TimeGroupUnit.WEEKLY
HealthDataResolver.AggregateRequest.TimeGroupUnit.MONTHLY
timeProperty
alias
public HealthDataResolver.AggregateRequest.Builder setTimeGroup(HealthDataResolver.AggregateRequest.TimeGroupUnit unit, int amount, String timeProperty, String offsetProperty, String alias)
offsetProperty
public HealthDataResolver.AggregateRequest.Builder addGroup(String property, String alias)
property
public HealthDataResolver.AggregateRequest.Builder addFunction(HealthDataResolver.AggregateRequest.AggregateFunction aggregate, String property, String alias)
aggregate
COUNT
public HealthDataResolver.AggregateRequest.Builder setSort(String property, HealthDataResolver.SortOrder sortOrder)
null
sortOrder
public HealthDataResolver.AggregateRequest.Builder setLocalTimeRange(String timeProperty, String offsetProperty, long begin, long end)
The data that has a different TIME_OFFSET with other data's TIME_OFFSET can be saved when the daylight time is applied or the user moves to another region by like a travel. Building a complete query to aggregate all data including the different TIME_OFFSET is not easy. Use this API to build an aggregate request as possible.
begin
GMT+0
00:00:00
1635206400000
Long.MIN_VALUE
end
Long.MAX_VALUE
public HealthDataResolver.AggregateRequest build()
IllegalStateException
setDataType(String)
addFunction(HealthDataResolver.AggregateRequest.AggregateFunction, String, String)