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 | |
---|---|
that |
Object
|
Returns | |
---|---|
boolean |
Returns a list of output aggregate data types for the specified inputDataType
.
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
|