# Data.Builder

Artifact: [androidx.work:work-runtime](https://developer.android.com/jetpack/androidx/releases/work) [View Source](https://cs.android.com/search?q=file:androidx/work/Data_.kt+class:androidx.work.Data.Builder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

*** ** * ** ***


```
public final class Data.Builder
```

<br />

*** ** * ** ***

A builder for `https://developer.android.com/reference/androidx/work/Data` objects.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/work/Data.Builder#Builder()()` |

| ### Public methods |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data` | `https://developer.android.com/reference/androidx/work/Data.Builder#build()()` Builds a `https://developer.android.com/reference/androidx/work/Data` object. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putAll(androidx.work.Data)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data data)` Puts all input key-value pairs from a `https://developer.android.com/reference/androidx/work/Data` into the Builder. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putAll(kotlin.collections.Map)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/Object.html> values)` Puts all input key-value pairs from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html` into the Builder. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putBoolean(kotlin.String,kotlin.Boolean)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, boolean value)` Puts a boolean into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putBooleanArray(kotlin.String,kotlin.BooleanArray)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull boolean[] value)` Puts a boolean array into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putByte(kotlin.String,kotlin.Byte)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, byte value)` Puts an byte into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putByteArray(kotlin.String,kotlin.ByteArray)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull byte[] value)` Puts an integer array into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putDouble(kotlin.String,kotlin.Double)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, double value)` Puts a double into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putDoubleArray(kotlin.String,kotlin.DoubleArray)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull double[] value)` Puts a double array into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putFloat(kotlin.String,kotlin.Float)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, float value)` Puts a float into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putFloatArray(kotlin.String,kotlin.FloatArray)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull float[] value)` Puts a float array into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putInt(kotlin.String,kotlin.Int)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, int value)` Puts an integer into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putIntArray(kotlin.String,kotlin.IntArray)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull int[] value)` Puts an integer array into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putLong(kotlin.String,kotlin.Long)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, long value)` Puts a long into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putLongArray(kotlin.String,kotlin.LongArray)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull long[] value)` Puts a long array into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putString(kotlin.String,kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, https://developer.android.com/reference/java/lang/String.html value)` Puts a String into the arguments. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | `https://developer.android.com/reference/androidx/work/Data.Builder#putStringArray(kotlin.String,kotlin.Array)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull String[] value)` Puts a String array into the arguments. |

## Public constructors

### Builder

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public Builder()
```

## Public methods

### build

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data build()
```

Builds a `https://developer.android.com/reference/androidx/work/Data` object.

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data` | The `https://developer.android.com/reference/androidx/work/Data` object containing all key-value pairs specified by this `https://developer.android.com/reference/androidx/work/Data.Builder`. |

### putAll

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putAll(@NonNull Data data)
```

Puts all input key-value pairs from a `https://developer.android.com/reference/androidx/work/Data` into the Builder.

Valid value types are: Boolean, Integer, Long, Float, Double, String, and their array versions. Invalid types will throw an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data data` | `https://developer.android.com/reference/androidx/work/Data` containing key-value pairs to add |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putAll

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putAll(@NonNull Map<@NonNull String, Object> values)
```

Puts all input key-value pairs from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html` into the Builder.

Valid value types are: Boolean, Integer, Long, Float, Double, String, and their array versions. Invalid types will throw an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/Object.html> values` | A `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html` of key-value pairs to add |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putBoolean

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putBoolean(@NonNull String key, boolean value)
```

Puts a boolean into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `boolean value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putBooleanArray

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putBooleanArray(@NonNull String key, @NonNull boolean[] value)
```

Puts a boolean array into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `@https://developer.android.com/reference/androidx/annotation/NonNull boolean[] value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putByte

Added in [2.1.0](https://developer.android.com/jetpack/androidx/releases/work#2.1.0)

```
public final @NonNull Data.Builder putByte(@NonNull String key, byte value)
```

Puts an byte into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `byte value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putByteArray

Added in [2.1.0](https://developer.android.com/jetpack/androidx/releases/work#2.1.0)

```
public final @NonNull Data.Builder putByteArray(@NonNull String key, @NonNull byte[] value)
```

Puts an integer array into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `@https://developer.android.com/reference/androidx/annotation/NonNull byte[] value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putDouble

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putDouble(@NonNull String key, double value)
```

Puts a double into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `double value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putDoubleArray

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putDoubleArray(@NonNull String key, @NonNull double[] value)
```

Puts a double array into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `@https://developer.android.com/reference/androidx/annotation/NonNull double[] value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putFloat

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putFloat(@NonNull String key, float value)
```

Puts a float into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `float value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putFloatArray

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putFloatArray(@NonNull String key, @NonNull float[] value)
```

Puts a float array into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `@https://developer.android.com/reference/androidx/annotation/NonNull float[] value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putInt

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putInt(@NonNull String key, int value)
```

Puts an integer into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `int value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putIntArray

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putIntArray(@NonNull String key, @NonNull int[] value)
```

Puts an integer array into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `@https://developer.android.com/reference/androidx/annotation/NonNull int[] value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putLong

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putLong(@NonNull String key, long value)
```

Puts a long into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `long value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putLongArray

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putLongArray(@NonNull String key, @NonNull long[] value)
```

Puts a long array into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `@https://developer.android.com/reference/androidx/annotation/NonNull long[] value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putString

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putString(@NonNull String key, String value)
```

Puts a String into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `https://developer.android.com/reference/java/lang/String.html value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |

### putStringArray

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

```
public final @NonNull Data.Builder putStringArray(@NonNull String key, @NonNull String[] value)
```

Puts a String array into the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | The key for this argument |
| `@https://developer.android.com/reference/androidx/annotation/NonNull String[] value` | The value for this argument |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/work/Data.Builder` | The `https://developer.android.com/reference/androidx/work/Data.Builder` |