# SparseArraySerializer

Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/serialization/serializers/BuiltInSerializer.android.kt+class:androidx.savedstate.serialization.serializers.SparseArraySerializer) Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0)

*** ** * ** ***


```
public final class SparseArraySerializer<T extends Object> implements KSerializer<@NonNull SparseArray<@NonNull T>>
```

<br />

*** ** * ** ***

A serializer for `https://developer.android.com/reference/android/util/SparseArray.html`.

```kotlin
import androidx.savedstate.serialization.serializers.SparseArraySerializer

@Serializable
class MyModel(
    @Serializable(with = SparseArraySerializer::class)
    val sparseParcelableArray: android.util.SparseArray<android.os.Parcelable>
)
```

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#encodeToSavedState(kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)` |   |
| `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#decodeFromSavedState(androidx.savedstate.SavedState,androidx.savedstate.serialization.SavedStateConfiguration)` |   |

## Summary

| ### Public constructors |
|---|
| `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/savedstate/serialization/serializers/SparseArraySerializer#SparseArraySerializer(kotlinx.serialization.KSerializer)( @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> elementSerializer )` |

| ### Public methods |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/SparseArray.html<@https://developer.android.com/reference/androidx/annotation/NonNull T>` | `https://developer.android.com/reference/androidx/savedstate/serialization/serializers/SparseArraySerializer#deserialize(kotlinx.serialization.encoding.Decoder)(@https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-decoder/index.html decoder)` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.descriptors/-serial-descriptor/index.html` | `https://developer.android.com/reference/androidx/savedstate/serialization/serializers/SparseArraySerializer#getDescriptor()()` |
| `void` | `https://developer.android.com/reference/androidx/savedstate/serialization/serializers/SparseArraySerializer#serialize(kotlinx.serialization.encoding.Encoder,android.util.SparseArray)(@https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-encoder/index.html encoder, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/util/SparseArray.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> value)` |

## Public constructors

### SparseArraySerializer

```
public <T extends Object> SparseArraySerializer(
    @NonNull KSerializer<@NonNull T> elementSerializer
)
```

## Public methods

### deserialize

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

```
public @NonNull SparseArray<@NonNull T> deserialize(@NonNull Decoder decoder)
```

### getDescriptor

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

```
public @NonNull SerialDescriptor getDescriptor()
```

### serialize

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

```
public void serialize(@NonNull Encoder encoder, @NonNull SparseArray<@NonNull T> value)
```