# DynamicDataKey

Artifact: [androidx.wear.protolayout:protolayout-expression](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/expression/DynamicDataKey.kt+class:androidx.wear.protolayout.expression.DynamicDataKey) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

*** ** * ** ***


```
abstract class DynamicDataKey<T : DynamicBuilders.DynamicType>
```

<br />

Known direct subclasses [AppDataKey](https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/AppDataKey), [PlatformDataKey](https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/PlatformDataKey)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/AppDataKey` | Represent a `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey` that references app/tile pushed state data. |
| `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/PlatformDataKey` | Represent a `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey` that references real-time data from the platform. |

*** ** * ** ***

Represent a key that references a dynamic value source, such as state pushed by app/tile or real-time data from the platform.

| Parameters |
|---|---|
| `<T : https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicType>` | The data type of the dynamic values that this key is bound to. |

## Summary

| ### Public functions |
|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#hashCode()()` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#toString()()` |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#key()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#namespace()` |

| ### Extension functions |
|---|---|
| `infix https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicBool>` | `@https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicBool>.https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.Boolean)(value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.Boolean)`. |
| `infix https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicColor>` | `@https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicColor>.https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(android.graphics.Color)(value: https://developer.android.com/reference/android/graphics/Color.html)` Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(android.graphics.Color)`. |
| `infix https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicDuration>` | `@https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 300) https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicDuration>.https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(java.time.Duration)(value: https://developer.android.com/reference/java/time/Duration.html)` Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(java.time.Duration)`. |
| `infix https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat>` | `@https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat>.https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.Float)(value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.Float)`. |
| `infix https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInstant>` | `@https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 300) https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInstant>.https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(java.time.Instant)(value: https://developer.android.com/reference/java/time/Instant.html)` Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(java.time.Instant)`. |
| `infix https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInt32>` | `@https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInt32>.https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.Int)(value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.Int)`. |
| `infix https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString>` | `@https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString>.https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataKey#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.String)(value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.String)`. |

## Public functions

### equals

```
open operator fun equals(other: Any?): Boolean
```

### hashCode

```
open fun hashCode(): Int
```

### toString

```
open fun toString(): String
```

## Public properties

### key

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

```
val key: String
```

### namespace

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

```
val namespace: String
```

## Extension functions

### DynamicDataKey.mapTo

Artifact: [androidx.wear.protolayout:protolayout-expression](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/expression/DynamicDataPair.kt+function:mapTo)

```
@RequiresSchemaVersion(major = 1, minor = 200)
infix fun DynamicDataKey<DynamicBuilders.DynamicBool>.mapTo(value: Boolean): DynamicDataPair<DynamicBuilders.DynamicBool>
```

Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.Boolean)`.

### DynamicDataKey.mapTo

Artifact: [androidx.wear.protolayout:protolayout-expression](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/expression/DynamicDataPair.kt+function:mapTo)

```
@RequiresSchemaVersion(major = 1, minor = 200)
infix fun DynamicDataKey<DynamicBuilders.DynamicColor>.mapTo(value: Color): DynamicDataPair<DynamicBuilders.DynamicColor>
```

Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(android.graphics.Color)`.

### DynamicDataKey.mapTo

Artifact: [androidx.wear.protolayout:protolayout-expression](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/expression/DynamicDataPair.kt+function:mapTo)

```
@RequiresSchemaVersion(major = 1, minor = 300)
infix fun DynamicDataKey<DynamicBuilders.DynamicDuration>.mapTo(value: Duration): DynamicDataPair<DynamicBuilders.DynamicDuration>
```

Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(java.time.Duration)`.

### DynamicDataKey.mapTo

Artifact: [androidx.wear.protolayout:protolayout-expression](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/expression/DynamicDataPair.kt+function:mapTo)

```
@RequiresSchemaVersion(major = 1, minor = 200)
infix fun DynamicDataKey<DynamicBuilders.DynamicFloat>.mapTo(value: Float): DynamicDataPair<DynamicBuilders.DynamicFloat>
```

Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.Float)`.

### DynamicDataKey.mapTo

Artifact: [androidx.wear.protolayout:protolayout-expression](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/expression/DynamicDataPair.kt+function:mapTo)

```
@RequiresSchemaVersion(major = 1, minor = 300)
infix fun DynamicDataKey<DynamicBuilders.DynamicInstant>.mapTo(value: Instant): DynamicDataPair<DynamicBuilders.DynamicInstant>
```

Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(java.time.Instant)`.

### DynamicDataKey.mapTo

Artifact: [androidx.wear.protolayout:protolayout-expression](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/expression/DynamicDataPair.kt+function:mapTo)

```
@RequiresSchemaVersion(major = 1, minor = 200)
infix fun DynamicDataKey<DynamicBuilders.DynamicInt32>.mapTo(value: Int): DynamicDataPair<DynamicBuilders.DynamicInt32>
```

Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.Int)`.

### DynamicDataKey.mapTo

Artifact: [androidx.wear.protolayout:protolayout-expression](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/expression/DynamicDataPair.kt+function:mapTo)

```
@RequiresSchemaVersion(major = 1, minor = 200)
infix fun DynamicDataKey<DynamicBuilders.DynamicString>.mapTo(value: String): DynamicDataPair<DynamicBuilders.DynamicString>
```

Creates a tuple of type `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicDataPair` from this and `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/package-summary#(androidx.wear.protolayout.expression.DynamicDataKey).mapTo(kotlin.String)`.