
Enables use of `android.os.Parcelable` from common code, facilitating data serialization across different platforms. Integrates into projects using Gradle, enhancing code portability and modularity.
Kotlin Multiplatform support for using android.os.Parcelable from common code.
A full list of kotlin-components projects can be found HERE
Add dependency to commonMain
// build.gradle.kts
dependencies {
val vParcelize = "0.1.2"
// If usage is a part of your public api, use `api`; otherwise
// use `implementation` for internal-only usage.
api("io.matthewnelson.kotlin-components:parcelize:$vParcelize")
}// build.gradle
dependencies {
def vParcelize = "0.1.1"
// If usage is a part of your public api, use `api`; otherwise
// use `implementation` for internal-only usage.
api "io.matthewnelson.kotlin-components:parcelize:$vParcelize"
}Add the kotlin-parcelize plugin to your project
plugins {
id("kotlin-parcelize")
}In commonMain
import io.matthewnelson.component.parcelize.Parcelable
import io.matthewnelson.component.parcelize.Parcelize
@Parcelize
data class MyData(val value: String): ParcelableUsable from androidMain
// androidMain
val intent = Intent()
intent.putExtra("MY_DATA", MyData("Parcelable commonMain class"))
val myData = intent.getParcelableExtra<MyData>("MY_DATA")
println(myData.toString())See the sample-data and sample-app examples
| parcelize | kotlin |
|---|---|
| 0.1.2 | 1.8.0 |
| 0.1.1 | 1.7.20 |
| 0.1.0 | 1.6.21 |
This project utilizes git submodules. You will need to initialize them when cloning the repository via:
$ git clone --recursive https://github.com/05nelsonm/component-parcelize.gitIf you've already cloned the repository, run:
$ git checkout master
$ git pull
$ git submodule update --initIn order to keep submodules updated when pulling the latest code, run:
$ git pull --recurse-submodulesKotlin Multiplatform support for using android.os.Parcelable from common code.
A full list of kotlin-components projects can be found HERE
Add dependency to commonMain
// build.gradle.kts
dependencies {
val vParcelize = "0.1.2"
// If usage is a part of your public api, use `api`; otherwise
// use `implementation` for internal-only usage.
api("io.matthewnelson.kotlin-components:parcelize:$vParcelize")
}// build.gradle
dependencies {
def vParcelize = "0.1.1"
// If usage is a part of your public api, use `api`; otherwise
// use `implementation` for internal-only usage.
api "io.matthewnelson.kotlin-components:parcelize:$vParcelize"
}Add the kotlin-parcelize plugin to your project
plugins {
id("kotlin-parcelize")
}In commonMain
import io.matthewnelson.component.parcelize.Parcelable
import io.matthewnelson.component.parcelize.Parcelize
@Parcelize
data class MyData(val value: String): ParcelableUsable from androidMain
// androidMain
val intent = Intent()
intent.putExtra("MY_DATA", MyData("Parcelable commonMain class"))
val myData = intent.getParcelableExtra<MyData>("MY_DATA")
println(myData.toString())See the sample-data and sample-app examples
| parcelize | kotlin |
|---|---|
| 0.1.2 | 1.8.0 |
| 0.1.1 | 1.7.20 |
| 0.1.0 | 1.6.21 |
This project utilizes git submodules. You will need to initialize them when cloning the repository via:
$ git clone --recursive https://github.com/05nelsonm/component-parcelize.gitIf you've already cloned the repository, run:
$ git checkout master
$ git pull
$ git submodule update --initIn order to keep submodules updated when pulling the latest code, run:
$ git pull --recurse-submodules