# ReadRecordsRequestUsingFilters.Builder

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Ctors](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#pubctors)\|[Methods](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#inhmethods)  

# ReadRecordsRequestUsingFilters.Builder

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/health/connect/ReadRecordsRequestUsingFilters.Builder "View this page in Kotlin")\|Java

`
public
static
final

class
ReadRecordsRequestUsingFilters.Builder
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object)                                                                                                                            ||
| ↳ | android.health.connect.ReadRecordsRequestUsingFilters.Builder\<T extends[android.health.connect.datatypes.Record](https://developer.android.com/reference/android/health/connect/datatypes/Record)\> |

<br />

*** ** * ** ***

Builder class for[ReadRecordsRequestUsingFilters](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters)

## Summary

|                                                                                                         ### Public constructors                                                                                                         ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#Builder(java.lang.Class<T>))`(`[Class](https://developer.android.com/reference/java/lang/Class)`<T> recordType) ` |

|                                                                                                                                                                                                                                                                                                                    ### Public methods                                                                                                                                                                                                                                                                                                                    ||
|-----------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>`                | ` `[addDataOrigins](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#addDataOrigins(android.health.connect.datatypes.DataOrigin))`(`[DataOrigin](https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin)` dataOrigin) ` Sets the data origin filter based on which the read operation is to be performed                                                                                                                      |
| ` `[ReadRecordsRequestUsingFilters](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters)`<T>` | ` `[build](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#build())`() ` Returns an Object of[ReadRecordsRequestUsingFilters](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters) For subsequent read requests,[ReadRecordsRequestUsingFilters](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters)does not allow both pageToken and sort order to be set together. |
| ` `[Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>`                | ` `[setAscending](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#setAscending(boolean))`(boolean ascending) ` Sets ordering of results to be returned based on start time.                                                                                                                                                                                                                                                                               |
| ` `[Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>`                | ` `[setPageSize](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#setPageSize(int))`(int pageSize) ` Sets maximum number of records to be returned by the read operation                                                                                                                                                                                                                                                                                   |
| ` `[Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>`                | ` `[setPageToken](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#setPageToken(long))`(long pageToken) ` Sets page token to read the requested page of the result.                                                                                                                                                                                                                                                                                        |
| ` `[Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>`                | ` `[setTimeRangeFilter](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder#setTimeRangeFilter(android.health.connect.TimeRangeFilter))`(`[TimeRangeFilter](https://developer.android.com/reference/android/health/connect/TimeRangeFilter)` timeRangeFilter) ` Sets time range b/w which the read operation is to be performed                                                                                                                               |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Public constructors

### Builder

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public Builder (Class<T> recordType)
```

<br />

<br />

|                                                                                          Parameters                                                                                          ||
|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `recordType` | `Class`: Class object of[Record](https://developer.android.com/reference/android/health/connect/datatypes/Record)type that needs to be read This value cannot be`null`. <br /> |

## Public methods

### addDataOrigins

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public Builder<T> addDataOrigins (DataOrigin dataOrigin)
```

Sets the data origin filter based on which the read operation is to be performed

<br />

|                                                                                                                                                                                                                Parameters                                                                                                                                                                                                                 ||
|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `dataOrigin` | `DataOrigin`: Adds[DataOrigin](https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin)for which to read records. If no[DataOrigin](https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin)is added then records by all[DataOrigin](https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin)s will be read This value cannot be`null`. |

|                                                                          Returns                                                                          ||
|-----------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>` | This value cannot be`null`. <br /> |

### build

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public ReadRecordsRequestUsingFilters<T> build ()
```

Returns an Object of[ReadRecordsRequestUsingFilters](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters)

For subsequent read requests,[ReadRecordsRequestUsingFilters](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters)does not allow both pageToken and sort order to be set together.

If pageToken is set then records will be sorted in same order as the previous result

If both pageToken and sortOrder are not set then by default records will be sorted by start time in ascending order.

<br />

|                                                                                 Returns                                                                                  ||
|--------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [ReadRecordsRequestUsingFilters](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters)`<T>` | This value cannot be`null`. <br /> |

|                                                                   Throws                                                                   ||
|--------------------------------------------------------------------------------------------------|------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException) | if both pageToken and sort order is set. |

### setAscending

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public Builder<T> setAscending (boolean ascending)
```

Sets ordering of results to be returned based on start time. Ordering cannot be set along with page token for subsequent requests. IllegalState exception is thrown when ordering is set along with the page token.

<br />

|                                                                                    Parameters                                                                                     ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `ascending` | `boolean`: specifies sorting order of results, if set to true records are sorted on start time in ascending fashion, else if set to false then in descending. <br /> |

|                                                                          Returns                                                                          ||
|-----------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>` | This value cannot be`null`. <br /> |

### setPageSize

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public Builder<T> setPageSize (int pageSize)
```

Sets maximum number of records to be returned by the read operation

<br />

|                                                                                                                 Parameters                                                                                                                 ||
|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `pageSize` | `int`: number of records to be returned by the read operation. This sets to limit number of rows returned by a read. If not set default is 1000 and maximum of 5000 records can be sent. Value is between 1 and 5000 inclusive |

|                                                                          Returns                                                                          ||
|-----------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>` | This value cannot be`null`. <br /> |

### setPageToken

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public Builder<T> setPageToken (long pageToken)
```

Sets page token to read the requested page of the result.

<br />

|                                         Parameters                                         ||
|-------------|-------------------------------------------------------------------------------|
| `pageToken` | `long`: to read the requested page of the result. -1 if none available <br /> |

|                                                                          Returns                                                                          ||
|-----------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>` | This value cannot be`null`. <br /> |

### setTimeRangeFilter

Added in[API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public Builder<T> setTimeRangeFilter (TimeRangeFilter timeRangeFilter)
```

Sets time range b/w which the read operation is to be performed

<br />

|                                                                                                        Parameters                                                                                                         ||
|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `timeRangeFilter` | `TimeRangeFilter`: Time range b/w which the read operation is to be performed. If not time range filter is present all the records will be read without any time constraints. This value may be`null`. |

|                                                                          Returns                                                                          ||
|-----------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)`<T>` | This value cannot be`null`. <br /> |