public static class HealthDataResolver.ReadRequest.Builder extends Object
HealthDataResolver.ReadRequest
private HealthDataResolver.ReadRequest buildReadRequest(long startTime, long endTime) { HealthDataResolver.Filter filter = HealthDataResolver.Filter.greaterThan(HealthConstants.Nutrition.CALORIE, 200); HealthDataResolver.ReadRequest request = new HealthDataResolver.ReadRequest.Builder() .setDataType(HealthConstants.Nutrition.HEALTH_DATA_TYPE) .setLocalTimeRange(HealthConstants.Nutrition.START_TIME, HealthConstants.Nutrition.TIME_OFFSET, startTime, endTime) .setFilter(filter) .build(); return request; }
Builder()
build()
HealthDataResolver.ReadRequest.Builder
setDataType(String type)
setFilter(HealthDataResolver.Filter filter)
setLocalTimeRange(String timeProperty, String offsetProperty, long begin, long end)
TIME_OFFSET
setPackageName(String packageName)
setProperties(String[] properties)
setPropertyAlias(String property, String alias)
setResultCount(int offset, int count)
setSort(String property, HealthDataResolver.SortOrder sortOrder)
setSourceDevices(List<String> uuidList)
setTimeAfter(long time)
public Builder()
public HealthDataResolver.ReadRequest.Builder setDataType(String type)
type
HEALTH_DATA_TYPE
public HealthDataResolver.ReadRequest.Builder setFilter(HealthDataResolver.Filter filter)
filter
public HealthDataResolver.ReadRequest.Builder setSourceDevices(List<String> uuidList)
uuidList
public HealthDataResolver.ReadRequest.Builder setProperties(String[] properties)
properties
public HealthDataResolver.ReadRequest.Builder setPropertyAlias(String property, String alias)
property
alias
public HealthDataResolver.ReadRequest.Builder setPackageName(String packageName)
Samsung Health collects the linked accessory's data also like Galaxy Watch. The accessory's data including Galaxy Watch is inserted to Samsung Health with the Samsung Health's package name, com.sec.android.app.shealth. If you want to read only the specific accessory's data, make a division the device ID.
com.sec.android.app.shealth
packageName
public HealthDataResolver.ReadRequest.Builder setSort(String property, HealthDataResolver.SortOrder sortOrder)
sortOrder
public HealthDataResolver.ReadRequest.Builder setResultCount(int offset, int count)
If you want to get only 10 data from the 3rd position in the result, set offset as 2 and count as 10.
offset
count
public HealthDataResolver.ReadRequest.Builder setTimeAfter(long time)
HealthDataResolver.Filter.greaterThan(java.lang.String, T)
time
public HealthDataResolver.ReadRequest.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 read all data including the different TIME_OFFSET is not easy. Use this API to build a read request as possible.
timeProperty
offsetProperty
begin
GMT+0
00:00:00
1635206400000
Long.MIN_VALUE
end
Long.MAX_VALUE
public HealthDataResolver.ReadRequest build()
IllegalStateException
setDataType(String)