java.lang.Object | |
↳ | com.google.android.gms.fitness.data.DataType |
The data type defines the schema for a stream of data being collected by, inserted into, or queried from Google Fit. The data type defines only the representation and format of the data, and not how it's being collected, the sensor being used, or the parameters of the collection.
The same underlying concept may be represented by different data types, depending on how data
is represented. For example, the com.google.step_count.delta
data type represents step
count data as delta (new steps) between different readings, while the com.google.step_count.cumulative
data type represents step count data as a sum since the start
of the count. The platform has built-in support for converting between compatible data types.
A data type contains one or more fields. In case of multi-dimensional data (such as location with latitude, longitude, and accuracy) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).
The data types in the com.google
namespace are shared with any app with the user
consent. These are fixed and can only be updated in new releases of the platform. This class
contains constants representing each of the com.google
data types, each prefixed with
TYPE_
. Custom data types can be accessed via the ConfigApi
.
Certain data types can represent aggregates, and can be computed as part of read requests by
calling aggregate(DataType, DataType)
This class contains constants for all the valid aggregates, each prefixed with AGGREGATE_
. In addition, AGGREGATE_INPUT_TYPES
contains all valid input types to
aggregation, and the aggregates for each input type can be queried via getAggregatesForInput(DataType)
.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | MIME_TYPE_PREFIX | The common prefix for data type MIME types, for use in intents. |
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AGGREGATE_ACTIVITY_SUMMARY | In the com.google.activity.summary data type, each data point represents a summary of
all activity segments of a particular activity type over a time interval. |
||||||||||
AGGREGATE_BASAL_METABOLIC_RATE_SUMMARY | In the com.google.bmr.summary data type, each data point represents the average,
maximum and minimum basal metabolic rate, in kcal per day, over the time interval of the data
point. |
||||||||||
AGGREGATE_BODY_FAT_PERCENTAGE_SUMMARY | In the com.google.body.fat_percentage.summary data type, each data point represents the
average, maximum and minimum percentage over the time interval of the data point. |
||||||||||
AGGREGATE_CALORIES_CONSUMED |
This field is deprecated.
Use AGGREGATE_NUTRITION_SUMMARY instead, which contains calories as well
as other nutrients. This data type will be removed in a future release.
|
||||||||||
AGGREGATE_CALORIES_EXPENDED | Aggregate calories expended,in kcal, during a time interval. | ||||||||||
AGGREGATE_DISTANCE_DELTA | Aggregate distance, in meters, during a time interval. | ||||||||||
AGGREGATE_HEART_RATE_SUMMARY | In the com.google.heart_rate.summary data type, each data point represents average,
maximum and minimum beats per minute over the time interval of the data point. |
||||||||||
AGGREGATE_HEIGHT_SUMMARY | In the com.google.height.summary data type, each data point represents the average,
maximum and minimum height, in meters, over the time interval of the data point. |
||||||||||
AGGREGATE_HYDRATION | In the com.google.hydration data type, the field_volume in the data point
represents the volume, in liters, of water consumed by a user as part of a single drink. |
||||||||||
AGGREGATE_INPUT_TYPES |
This field is deprecated.
to check if a data type is supported for aggregation, use getAggregatesForInput(DataType) and check the result: DataType.getAggregatesForInput(dataType).isEmpty() . This field will be removed in the
next release.
|
||||||||||
AGGREGATE_LOCATION_BOUNDING_BOX | In the com.google.location.bounding_box data type, a data point represents the bounding
box computed over user's location data points over a time interval. |
||||||||||
AGGREGATE_NUTRITION_SUMMARY | In the com.google.nutrition.summary data type, each data point represents the sum of
all nutrition entries over the time interval of the data point. |
||||||||||
AGGREGATE_POWER_SUMMARY | In the com.google.power.summary data type, each data point represents average, maximum
and minimum watts over the time interval of the data point. |
||||||||||
AGGREGATE_SPEED_SUMMARY | In the com.google.speed.summary data type, each data point represents the average,
maximum and minimum speed over ground, in meters/second, over the time interval of the data
point. |
||||||||||
AGGREGATE_STEP_COUNT_DELTA | Aggregate number of steps during a time interval. | ||||||||||
AGGREGATE_WEIGHT_SUMMARY | In the com.google.weight.summary data type, each data point represents the average,
maximum and minimum weight, in kilograms, over the time interval of the data point. |
||||||||||
TYPE_ACTIVITY_SAMPLE |
This field is deprecated.
use TYPE_ACTIVITY_SAMPLES
|
||||||||||
TYPE_ACTIVITY_SAMPLES | In the com.google.activity.samples data type, each data point represents the
instantaneous samples of the current activities. |
||||||||||
TYPE_ACTIVITY_SEGMENT | In the com.google.activity.segment data type, each data point represents a continuous
time interval with a single activity value. |
||||||||||
TYPE_BASAL_METABOLIC_RATE | In the com.google.calories.bmr data type, each data point represents the basal
metabolic rate of energy expenditure at rest of the user at the time of the reading, in kcal
per day. |
||||||||||
TYPE_BODY_FAT_PERCENTAGE | In the com.google.body.fat.percentage data type, each data point represents a
measurement of the total fat mass in a person's body as a percentage of the total body mass. |
||||||||||
TYPE_CALORIES_CONSUMED |
This field is deprecated.
Use TYPE_NUTRITION instead which holds calories as well as other
nutrients. This data type will be removed in a future release.
|
||||||||||
TYPE_CALORIES_EXPENDED | In the com.google.calories.expended data type, each data point represents the number of
calories expended, in kcal, over the time interval of the data point. |
||||||||||
TYPE_CYCLING_PEDALING_CADENCE | In the com.google.cycling,cadence data type, each data point represents an
instantaneous measurement of the pedaling rate in crank revolutions per minute. |
||||||||||
TYPE_CYCLING_PEDALING_CUMULATIVE | In the com.google.cycling.pedaling.cumulative data type, each data point represents the
number of rotations taken from the start of the count. |
||||||||||
TYPE_CYCLING_WHEEL_REVOLUTION | In the com.google.cycling.wheel_revolution.cumulative data type, each data point
represents the number of revolutions taken from the start of the count. |
||||||||||
TYPE_CYCLING_WHEEL_RPM | In the com.google.cycling.wheel.revolutions data type, each data point represents an
instantaneous measurement of the wheel in revolutions per minute. |
||||||||||
TYPE_DISTANCE_DELTA | In the com.google.distance.delta data type, each data point represents the distance
covered, in meters, since the last reading. |
||||||||||
TYPE_HEART_RATE_BPM | In the com.google.heart_rate.bpm data type, each data point represents an instantaneous
measurement of the heart rate in beats per minute. |
||||||||||
TYPE_HEIGHT | In the com.google.height data type, each data point represents the height of the user
at the time of the reading, in meters. |
||||||||||
TYPE_HYDRATION | In the com.google.hydration data type, the field_volume in the data point
represents the volume, in liters, of water consumed by a user as part of a single drink. |
||||||||||
TYPE_LOCATION_SAMPLE | In the com.google.location.sample data type, each data point represents the user's
location at a given instant. |
||||||||||
TYPE_LOCATION_TRACK | The com.google.location.track data type represents a location point that is part of a
track and which may have inexact timestamps. |
||||||||||
TYPE_NUTRITION | In the com.google.nutrition data type, each data point represents the value of all
nutrients consumed as part of a meal or a food item. |
||||||||||
TYPE_POWER_SAMPLE | In the com.google.power.sample data type, each data point represents an instantaneous
measurement of power in watts. |
||||||||||
TYPE_SPEED | In the com.google.speed data type, each data point represents the instantaneous speed
over ground, in meters/second. |
||||||||||
TYPE_STEP_COUNT_CADENCE | In the com.google.step_count.cadence data type, each data point represents an
instantaneous measurement of the cadence in steps per minute. |
||||||||||
TYPE_STEP_COUNT_DELTA | In the com.google.step_count.delta data type, each data point represents the number of
steps taken since the last reading. |
||||||||||
TYPE_WEIGHT | In the com.google.weight data type, each data point represents the weight of the user
at the time of the reading, in kilograms. |
||||||||||
TYPE_WORKOUT_EXERCISE | In the com.google.activity.exercise data type, each data point represents a single
continuous set of a workout exercise performed by a user. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns a list of output aggregate data types for the specified
inputDataType . | |||||||||||
Returns the ordered list of fields for the data type.
| |||||||||||
Returns the MIME type for a particular
DataType . | |||||||||||
Returns the namespaced name which uniquely identifies this data type.
| |||||||||||
Returns the index of a field.
| |||||||||||
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
The common prefix for data type MIME types, for use in intents. The MIME type for a particular data type will be this prefix followed by the data type name. Examples:
vnd.google.fitness.data_type/com.google.heart_rate.bpm vnd.google.fitness.data_type/com.google.activity.segment vnd.google.fitness.data_type/com.example.my_typeThe data type's name is returned by
getName()
. The full MIME type can be computed by
getMimeType(DataType)
.
In the com.google.activity.summary
data type, each data point represents a summary of
all activity segments of a particular activity type over a time interval. The data type has
three fields:
FitnessActivities
, as described in FIELD_ACTIVITY
.
Because this is an aggregate data type, start and end times should be set.
In the com.google.bmr.summary
data type, each data point represents the average,
maximum and minimum basal metabolic rate, in kcal per day, over the time interval of the data
point.
Because this is an aggregate data type, the start and end times should be set.
In the com.google.body.fat_percentage.summary
data type, each data point represents the
average, maximum and minimum percentage over the time interval of the data point.
Because this is an aggregate data type, the start and end times should be set.
This field is deprecated.
Use AGGREGATE_NUTRITION_SUMMARY
instead, which contains calories as well
as other nutrients. This data type will be removed in a future release.
Aggregate calories consumed,in kcal, during a time interval. This data type is equivalent to
the one used for non-aggregated data. The full definition can be found at TYPE_CALORIES_CONSUMED
.
Aggregate calories expended,in kcal, during a time interval. This data type is equivalent to
the one used for non-aggregated data. The full definition can be found at TYPE_CALORIES_EXPENDED
.
Aggregate distance, in meters, during a time interval. This data type is equivalent to the one
used for non-aggregated data. The full definition can be found at TYPE_DISTANCE_DELTA
.
In the com.google.heart_rate.summary
data type, each data point represents average,
maximum and minimum beats per minute over the time interval of the data point.
Because this is an aggregate data type, start and end times should be set.
Reading, registering to, or subscribing to data of this type requires BODY_SENSORS
In the com.google.height.summary
data type, each data point represents the average,
maximum and minimum height, in meters, over the time interval of the data point.
Because this is an aggregate data type, the start and end times should be set.
In the com.google.hydration
data type, the field_volume
in the data point
represents the volume, in liters, of water consumed by a user as part of a single drink. The
timestamp indicates when the drink was consumed.
This field is deprecated.
to check if a data type is supported for aggregation, use getAggregatesForInput(DataType)
and check the result: DataType.getAggregatesForInput(dataType).isEmpty()
. This field will be removed in the
next release.
List of data types that are supported as input data types for aggregation.
In the com.google.location.bounding_box
data type, a data point represents the bounding
box computed over user's location data points over a time interval. Each bounding box has four
fields:
Reading, registering to, or subscribing to data of this type requires ACCESS_FINE_LOCATION
In the com.google.nutrition.summary
data type, each data point represents the sum of
all nutrition entries over the time interval of the data point.
In the nutrients field map, each value will represent the sum of the nutrient over all of the entries in the interval. If the nutrient was not present in any of the entries, it won't be present on the aggregate map either.
If all of the original entries are for the same meal, the meal_type
field will also
be set.
In the com.google.power.summary
data type, each data point represents average, maximum
and minimum watts over the time interval of the data point.
Because this is an aggregate data type, start and end times should be set.
In the com.google.speed.summary
data type, each data point represents the average,
maximum and minimum speed over ground, in meters/second, over the time interval of the data
point.
Because this is an aggregate data type, the start and end times should be set.
Aggregate number of steps during a time interval. This data type is equivalent to the one used
for non-aggregated data. The full definition can be found at TYPE_STEP_COUNT_DELTA
.
In the com.google.weight.summary
data type, each data point represents the average,
maximum and minimum weight, in kilograms, over the time interval of the data point.
Because this is an aggregate data type, the start and end times should be set.
This field is deprecated.
use TYPE_ACTIVITY_SAMPLES
In the com.google.activity.sample
data type, each data point represents an
instantaneous sample of the current activity. The data point has two fields, the first one
representing the activity (as described in FIELD_ACTIVITY
), and the second representing the
confidence in the sample, specified as a float between 0.0 and 100.0. If the confidence is
unknown or not calculated, a negative value can be used.
Because the samples are instantaneous, start time has no meaning and should be left unset.
It's possible that more than one activity is detected at the same time with different confidence values. This can be represented as multiple data points with the same timestamp but different field values.
In the com.google.activity.samples
data type, each data point represents the
instantaneous samples of the current activities. The data point has two fields:
One representing a map of the activities detected to the confidences for each (as described
in FIELD_ACTIVITY_CONFIDENCE
).
The confidence is specified as a float between 0.0 and 100.0. If the confidence is unknown or not calculated, a negative value can be used.
Because the samples are instantaneous, start time has no meaning and should be left unset.
In the com.google.activity.segment
data type, each data point represents a continuous
time interval with a single activity value. Activity values are described in FIELD_ACTIVITY
.
The start time of the data point must always be present as it represents the start of the activity, with the timestamp representing the activity's end time. Data point time intervals should be non-overlapping, although they do not need to be contiguous. In case when two activities happen at the same time, the most significant one should be used.
In the com.google.calories.bmr
data type, each data point represents the basal
metabolic rate of energy expenditure at rest of the user at the time of the reading, in kcal
per day.
Because the recorded BMR is instantaneous, the start time should not be set.
In the com.google.body.fat.percentage
data type, each data point represents a
measurement of the total fat mass in a person's body as a percentage of the total body mass.
Since this is an instantaneous measurement, start time should not be set.
This field is deprecated.
Use TYPE_NUTRITION
instead which holds calories as well as other
nutrients. This data type will be removed in a future release.
In the com.google.calories.consumed
data type, each data point represents the number of
calories consumed, in kcal, over the time interval of the data point. The field value is stored
as a float.
Start and end times should be set to denote the duration over which the calories were consumed.
In the com.google.calories.expended
data type, each data point represents the number of
calories expended, in kcal, over the time interval of the data point. The field value is stored
as a float. Note: this total calories number includes BMR calories expended.
Start and end times should be set to denote the duration over which the calories were expended.
In the com.google.cycling,cadence
data type, each data point represents an
instantaneous measurement of the pedaling rate in crank revolutions per minute.
Start time should be left unset. Different data sources will need to monitor the rotations of the crank for different amounts of time before calculating the instantaneous RPM. This should be indicated as part of the data source and not the data point.
In the com.google.cycling.pedaling.cumulative
data type, each data point represents the
number of rotations taken from the start of the count. When using this data
type, each revolution can be reported multiple times, as the values of each data point are
monotonically increasing. To calculate the number of revolutions during an interval, the value
at the end of the interval should be subtracted from the value at the beginning.
Note that the count may reset to zero at different times depending on the data source. When available, the data source should indicate the beginning of the count by setting the start time of the data point to the time of the start of the count. Alternatively, a data point with a value of zero can be used to indicate the resetting of the count. If neither of these is available, the count resetting can be inferred in a best-effort basis by detecting decreases in the total value.
In the com.google.cycling.wheel_revolution.cumulative
data type, each data point
represents the number of revolutions taken from the start of the count. When
using this data type, each revolution can be reported multiple times, as the values of each
data point are monotonically increasing. To calculate the number of revolutions during an
interval, the value at the end of the interval should be subtracted from the value at the
beginning.
Note that the count may reset to zero at different times depending on the data source. When available, the data source should indicate the beginning of the count by setting the start time of the data point to the time of the start of the count. Alternatively, a data point with a value of zero can be used to indicate the resetting of the count. If neither of these is available, the count resetting can be inferred in a best-effort basis by detecting decreases in the total value.
In the com.google.cycling.wheel.revolutions
data type, each data point represents an
instantaneous measurement of the wheel in revolutions per minute.
Start time should be left unset. Different data sources will need to monitor the RPMs for different amounts of time before calculating the instantaneous RPM. This should be indicated as part of the data source and not the data point.
In the com.google.distance.delta
data type, each data point represents the distance
covered, in meters, since the last reading. The total distance over an
interval can be calculated by adding together all the values during the interval.
The start time of each data point should represent the start of the interval in which the distance was covered. The start time must be equal to or greater than the end time of the previous data point.
Reading, registering to, or subscribing to data of this type requires ACCESS_FINE_LOCATION
In the com.google.heart_rate.bpm
data type, each data point represents an instantaneous
measurement of the heart rate in beats per minute.
Start time should be left unset. Different data sources will need to monitor the heart's beat rate for different amounts of time before calculating the instantaneous heart rate. This should be indicated as part of the data source and not the data point.
Reading, registering to, or subscribing to data of this type requires BODY_SENSORS
In the com.google.height
data type, each data point represents the height of the user
at the time of the reading, in meters.
Because the recorded height is instantaneous, the start time should not be set.
In the com.google.hydration
data type, the field_volume
in the data point
represents the volume, in liters, of water consumed by a user as part of a single drink. The
timestamp indicates when the drink was consumed.
Here's an example of creating a DataPoint to represent the user drinking 0.3 liters of water:
DataSource hydrationSource = new DataSource.Builder() .setDataType(DataType.TYPE_HYDRATION) ... .build(); DataPoint hydration = DataPoint.create(hydrationSource); hydration.setTimestamp(now.getMillis(), TimeUnit.MILLISECONDS); hydration.getValue(FIELD_VOLUME).setFloat(0.3f);
In the com.google.location.sample
data type, each data point represents the user's
location at a given instant. The location data point has four fields:
getAccuracy()
for more details.
accuracy
). Most mobile devices produce
measurements that are up to 25 meters away from the correct altitude, so care must be
taken to average several results for increased accuracy or use another source for
elevation information. If altitude could not be determined for this location sample, this
field is not set.
Reading, registering to, or subscribing to data of this type requires ACCESS_FINE_LOCATION
The com.google.location.track
data type represents a location point that is part of a
track and which may have inexact timestamps.
Its fields are the same as location.sample. The
difference between the two data types is that, while location.sample
data points have
an exact timestamp, location.track
data points have an inexact time interval. The start
time will represent the earliest time where the user may been at the location, and the end time
will represent the latest time. Start time should always be set, even if it's the same as end
time.
One use case of location.track
is capturing the path of a user during an activity
when the track for the path is known, but the exact time at each coordinate isn't.
Reading, registering to, or subscribing to data of this type requires ACCESS_FINE_LOCATION
In the com.google.nutrition
data type, each data point represents the value of all
nutrients consumed as part of a meal or a food item.
The data point contains several fields. The nutrients field and either the meal type and/or the food item field are required.
nutrients
contains all of the nutrient data for the entry
meal_type
lists the type of meal, if known
food_item
lists the particular food item for the entry, if known
In case the meal time is known, it should be reflected in the timestamps. Otherwise, start and end times should be set to the range in which the meal occurred.
The meal_type
field accepts the following values, which are defined as constants in
Field
:
The nutrients
field is a map where the key holds the type of nutrient and the value
holds the amount of the nutrient for the entry. Key values are represented by the NUTRIENT_XXX
constants in Field
. In case the
amount of the nutrient for the entry is not known, no value for that nutrient should be added
to the map. You may optionally use a value of zero when it is known that the nutrient is not
present in the entry. Multiple nutrients can be added by calling setKeyValue(String, float)
repeatedly.
Here's an example of creating a DataPoint to represent the user eating a banana:
DataSource nutritionSource = new DataSource.Builder() .setDataType(TYPE_NUTRITION) ... .build(); DataPoint banana = DataPoint.create(nutritionSource); banana.setTimestamp(now.getMillis(), MILLISECONDS); banana.getValue(FIELD_FOOD_ITEM).setString("banana"); banana.getValue(FIELD_MEAL_TYPE).setInt(MEAL_TYPE_SNACK); banana.getValue(FIELD_NUTRIENTS).setKeyValue(NUTRIENT_TOTAL_FAT, 0.4f); banana.getValue(FIELD_NUTRIENTS).setKeyValue(NUTRIENT_SODIUM, 1f); banana.getValue(FIELD_NUTRIENTS).setKeyValue(NUTRIENT_POTASSIUM, 422f);
In the com.google.power.sample
data type, each data point represents an instantaneous
measurement of power in watts. The field value is stored as a float.
Because the recorded power is instantaneous, the start time should not be set.
In the com.google.speed
data type, each data point represents the instantaneous speed
over ground, in meters/second. The value represents the scalar magnitude of the speed, so
negative values should not occur.
Because the recorded speed is instantaneous, the start time should not be set.
Reading, registering to, or subscribing to data of this type requires ACCESS_FINE_LOCATION
In the com.google.step_count.cadence
data type, each data point represents an
instantaneous measurement of the cadence in steps per minute.
Both feet are used for calculating cadence, so if a sensor only measures one foot the value measurement is doubled.
Start time should be left unset.
In the com.google.step_count.delta
data type, each data point represents the number of
steps taken since the last reading. When using this data type, each step is
only ever reported once, in the reading immediately succeeding the step. By adding all of the
values together for a period of time, the total number of steps during that period can be
computed.
As an example, if a user walked a total of 5 steps, with 3 different readings, the values for each reading might be [1, 2, 2].
The start time of each data point should represent the start of the interval in which steps were taken. The start time must be equal to or greater than the end time of the previous data point.
In the com.google.weight
data type, each data point represents the weight of the user
at the time of the reading, in kilograms.
Because the recorded weight is instantaneous, the start time should not be set.
In the com.google.activity.exercise
data type, each data point represents a single
continuous set of a workout exercise
performed by a user.
The data point contains fields for the exercise type, the number of repetitions of the exercise, the duration of the exercise, and the resistance.
The exercise type
is specified as a string. Several canonical exercise types are
specified in WorkoutExercises
. If the exercise performed by the user isn't described by
any of those values, a different value can be entered. Whenever possible, the new value should
be prefixed by the canonical value it most closely resembles and separated by a dot. For
instance, when entering an exercise value to represent a "push-up with clap", the canonical
prefix for a push-up should be used, and the value could be represented as "pushup.clap".
The repetition
field counts the number of repetitions of an exercise. It is intended
for sets of exercises where a user performs a repetition several times. When the exercise is
performed with an equal number of repetitions on each side (for instance, 10 curls on the right
biceps and 10 curls on the left biceps), the repetition count of a single side only should be
used (10 in this case). When the exercise is not a repeating exercise, or when the repetition
count isn't known, the value should be left unset.
The duration
field is specified in milliseconds, and holds the duration of an
exercise for which the duration matters. Examples of such exercises include planks, stretches,
as well as repeating exercises for which the user is attempting to perform as many repetitions
as possible during a given time period. When the duration of the exercise isn't known, this
field should be left unset.
The resistance_type
and resistance
fields specify the resistance of the
exercise. The resistance type can hold any of the values in the Field.RESISTANCE_TYPE_XXX
constants, which include constants for barbell, dumbell, and other
common types of resistance. The resistance field will hold the actual weight in kilograms.
The timestamp of the data point should represent the time at which the user performed the exercise. If the exact time is not known, an approximate time may be entered. Note that, when reading data, exercise data points will be returned in timestamp order, so if the order of the exercises is known it should be reflected in the timestamps (even if they are approximate).
When several exercise data points are recorded together as part of a single workout, it's a
good idea to also enter a Session
for the duration of the workout, to help group the
different exercises together.
Here's an example of creating a data point to represent a bench press set with 8 repetitions of 150kg:
DataSource exerciseSource = new DataSource.Builder() .setDataType(TYPE_WORKOUT_EXERCISE) ... .build(); DataPoint benchPress = DataPoint.create(exerciseSource); benchPress.setTimestamp(now.getMillis(), MILLISECONDS); benchPress.getValue(FIELD_EXERCISE).setString(WorkoutExercises.BENCH_PRESS); benchPress.getValue(FIELD_REPETITIONS).setInt(8); benchPress.getValue(FIELD_RESISTANCE_TYPE).setInt(Field.RESISTANCE_TYPE_BARBELL); benchPress.getValue(FIELD_RESISTANCE).setFloat(150.0f);And here's an example of creating a data point to represent 30 seconds of a plank:
DataSource exerciseSource = new DataSource.Builder() .setDataType(TYPE_WORKOUT_EXERCISE) ... .build(); DataPoint benchPress = DataPoint.create(exerciseSource); plank.setTimestamp(now.getMillis(), MILLISECONDS); plank.getValue(FIELD_EXERCISE).setString(WorkoutExercises.PLANK); plank.getValue(FIELD_DURATION).setInt(30_000);
Parameters | |
---|---|
other |
Object |
Returns | |
---|---|
boolean |
Returns a list of output aggregate data types for the specified inputDataType
.
To check if a data type is supported for aggregation, check that the returned list is not
empty DataType.getAggregatesForInput(dataType).isEmpty()
.
Parameters | |
---|---|
inputDataType |
DataType |
Returns | |
---|---|
List<DataType> |
Returns the ordered list of fields for the data type.
Returns | |
---|---|
List<Field> |
Returns the namespaced name which uniquely identifies this data type.
Returns | |
---|---|
String |
Returns | |
---|---|
int |
Returns the index of a field.
Parameters | |
---|---|
field |
Field |
Returns | |
---|---|
int |
Throws | |
---|---|
IllegalArgumentException |
if field isn't defined for this data type.
|
Returns | |
---|---|
String |
Parameters | |
---|---|
dest |
Parcel |
flags |
int |