A builder that can be used to construct new data source objects. In general, a built data source should be saved in memory to avoid the cost of re-constructing it for every request.
Public Constructor Summary
Builder()
|
Public Method Summary
DataSource |
build()
Finishes building the data source and returns a DataSource object.
|
DataSource.Builder |
setAppPackageName(String packageName)
Sets the package name for the application that is recording or computing the
data.
|
DataSource.Builder |
setAppPackageName(Context
appContext)
Sets the package name for the application that is recording or computing the
data based on the app's context.
|
DataSource.Builder | |
DataSource.Builder | |
DataSource.Builder |
setStreamName(String streamName)
The stream name uniquely identifies this particular data source among other
data sources of the same type from the same underlying producer.
|
DataSource.Builder |
setType(int type)
Sets the type of the data source.
|
Inherited Method Summary
Public Constructors
public Builder ()
Public Methods
public DataSource build ()
Finishes building the data source and returns a DataSource object.
Throws
IllegalStateException | If the builder didn't have enough data to build a valid data source. |
---|
public DataSource.Builder setAppPackageName (String packageName)
Sets the package name for the application that is recording or computing the data. Used for data sources that aren't built into the platform (local sensors and BLE sensors are built-in). It can be used to identify the data source, to disambiguate between data from different applications, and also to link back to the original application for a detailed view.
public DataSource.Builder setAppPackageName (Context appContext)
Sets the package name for the application that is recording or computing the data
based on the app's context. This method should be preferred when an application is
creating a data source that represents its own data. When creating a data source to
query data from other apps,
setAppPackageName(String)
should be used.
public DataSource.Builder setDataType (DataType dataType)
Sets the data type for the data source. Every data source is required to have a data type.
Parameters
dataType | One of the data types defined in DataType ,
or a custom data type. |
---|
public DataSource.Builder setDevice (Device device)
Sets the integrated device where data is being recorded (for instance, a phone that
has sensors, or a wearable). Can be useful to identify the data source, and to
disambiguate between data from different devices. If the data is coming from the local
device, use
Device.getLocalDevice(Context)
.
Note that it may be useful to set the device even if the data is not coming from a hardware sensor on the device. For instance, if the user installs an application which generates sensor data in two separate devices, the only way to differentiate the two data sources is using the device. This can be specially important if both devices are used at the same time.
public DataSource.Builder setStreamName (String streamName)
The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.
The stream name is used by
DataSource.getStreamIdentifier()
to make sure the different streams are
properly separated when querying or persisting data.
Throws
IllegalArgumentException | If the specified stream name is null. |
---|
public DataSource.Builder setType (int type)
Sets the type of the data source. DataSource.TYPE_DERIVED
should be used if any other data source is used in generating the data. DataSource.TYPE_RAW
should be used if the data comes completely from outside of Google Fit.