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

# Metadata.Builder

*** ** * ** ***

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


`
public
static
final

class
Metadata.Builder
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.health.connect.datatypes.Metadata.Builder |

<br />

*** ** * ** ***

**See also:**

- `https://developer.android.com/reference/android/health/connect/datatypes/Metadata`

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder#Builder()() ` |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata` | ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder#build()() ` |
| ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder#setClientRecordId(java.lang.String)(https://developer.android.com/reference/java/lang/String clientRecordId) ` Sets optional client supplied record unique data identifier associated with the data. |
| ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder#setClientRecordVersion(long)(long clientRecordVersion) ` Sets optional client supplied version associated with the data. |
| ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder#setDataOrigin(android.health.connect.datatypes.DataOrigin)(https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin dataOrigin) ` Sets where the data comes from, such as application information originally generated this data. |
| ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder#setDevice(android.health.connect.datatypes.Device)(https://developer.android.com/reference/android/health/connect/datatypes/Device device) ` Sets optional client supplied device information associated with the data. |
| ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder#setId(java.lang.String)(https://developer.android.com/reference/java/lang/String id) ` Sets unique identifier of this data, assigned by the Android Health Platform at insertion time. |
| ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder#setLastModifiedTime(java.time.Instant)(https://developer.android.com/reference/java/time/Instant lastModifiedTime) ` Sets when data was last modified (or originally created). |
| ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | ` https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder#setRecordingMethod(int)(int recordingMethod) ` Sets recording method for the `https://developer.android.com/reference/android/health/connect/datatypes/Record`. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` 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 https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` 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` | ` 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` | ` 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)  
Also in [U Extensions 7](https://developer.android.com/sdkExtensions)

```
public Builder ()
```

<br />

<br />

## Public methods

### build

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

```
public Metadata build ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/datatypes/Metadata` | `https://developer.android.com/reference/android/health/connect/datatypes/Metadata` object. This value cannot be `null`. <br /> |

### setClientRecordId

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

```
public Metadata.Builder setClientRecordId (String clientRecordId)
```

Sets optional client supplied record unique data identifier associated with the data.
There is guaranteed a single entry for any type of data with same client provided
identifier for a given client. Any new insertions with the same client provided
identifier will either replace or be ignored depending on associated `clientRecordVersion`. @see clientRecordVersion

A null value means that no clientRecordId is set

<br />

| Parameters ||
|---|---|
| `clientRecordId` | `String`: This value may be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | <br /> |

### setClientRecordVersion

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

```
public Metadata.Builder setClientRecordVersion (long clientRecordVersion)
```

Sets optional client supplied version associated with the data. This determines conflict
resolution outcome when there are multiple insertions of the same `clientRecordId`.
Data with the highest `clientRecordVersion` takes precedence. `clientRecordVersion` starts with 0. @see clientRecordId

<br />

| Parameters ||
|---|---|
| `clientRecordVersion` | `long` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | This value cannot be `null`. <br /> |

### setDataOrigin

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

```
public Metadata.Builder setDataOrigin (DataOrigin dataOrigin)
```

Sets where the data comes from, such as application information originally generated this
data. When `https://developer.android.com/reference/android/health/connect/datatypes/Record` is created before insertion, this contains a sentinel value,
any assigned value will be ignored. After insertion, this will be populated with inserted
application.

<br />

| Parameters ||
|---|---|
| `dataOrigin` | `DataOrigin`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | This value cannot be `null`. <br /> |

### setDevice

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

```
public Metadata.Builder setDevice (Device device)
```

Sets optional client supplied device information associated with the data.

<br />

| Parameters ||
|---|---|
| `device` | `Device`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | This value cannot be `null`. <br /> |

### setId

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

```
public Metadata.Builder setId (String id)
```

Sets unique identifier of this data, assigned by the Android Health Platform at insertion
time. When `https://developer.android.com/reference/android/health/connect/datatypes/Record` is created before insertion, this takes a sentinel value, any
assigned value will be ignored.

<br />

| Parameters ||
|---|---|
| `id` | `String`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | This value cannot be `null`. <br /> |

### setLastModifiedTime

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

```
public Metadata.Builder setLastModifiedTime (Instant lastModifiedTime)
```

Sets when data was last modified (or originally created). When `https://developer.android.com/reference/android/health/connect/datatypes/Record` is created
before inserted, this contains a sentinel value, any assigned value will be ignored.

<br />

| Parameters ||
|---|---|
| `lastModifiedTime` | `Instant`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | This value cannot be `null`. <br /> |

### setRecordingMethod

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

```
public Metadata.Builder setRecordingMethod (int recordingMethod)
```

Sets recording method for the `https://developer.android.com/reference/android/health/connect/datatypes/Record`. This detail helps to know how the data was
recorded which can be useful for prioritization of the record

<br />

| Parameters ||
|---|---|
| `recordingMethod` | `int`: Value is one of the following: - `https://developer.android.com/reference/android/health/connect/datatypes/Metadata#RECORDING_METHOD_UNKNOWN` - `https://developer.android.com/reference/android/health/connect/datatypes/Metadata#RECORDING_METHOD_ACTIVELY_RECORDED` - `https://developer.android.com/reference/android/health/connect/datatypes/Metadata#RECORDING_METHOD_AUTOMATICALLY_RECORDED` - `https://developer.android.com/reference/android/health/connect/datatypes/Metadata#RECORDING_METHOD_MANUAL_ENTRY` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/datatypes/Metadata.Builder` | This value cannot be `null`. <br /> |