kmp-viewmodel
๐ Kotlin Multiplatform ViewModel. Kotlin Multiplatform MVVM. Common/Shared ViewModel in Kotlin Multiplatform - A Kotlin Multiplatform library that provides shared MVVM for UI applications. Components are lifecycle-aware on Android. Supports Android Parcelable, Kotlin Parcelize, AndroidX SavedStateHandle for restoring state after process death.
File Explorer
Download Latest Version (.zip)- build.yml
- deploy-release-docs.yml
- gradle-wrapper-validation.yml
- publish-release.yml
- sample.yml
- standalone-sample.yml
- dependabot.yml
- FUNDING.yml
- codeStyleConfig.xml
- Project.xml
- .gitignore
- icon.png
- jsonSchemas.xml
- kotlinc.xml
- migrations.xml
- vcs.xml
- vcs.xml
- logo.jpeg
- extra.css
- multiplatform.md
- requirements.txt
- samples.md
- swift-interop.md
- viewmodel-compose-navigation.md
- viewmodel-compose.md
- viewmodel-koin-compose.md
- viewmodel-koject-compose.md
- viewmodel-savedstate-safe.md
- viewmodel-savedstate.md
- viewmodel.md
- gradle-wrapper.jar
- gradle-wrapper.properties
- libs.versions.toml
- yarn.lock
- CollectWithLifecycleEffect.kt
- commonUi.kt
- MyApplicationTheme.kt
- OnLifecycleEvent.kt
- ProductDetailScreen.kt
- ProductsScreen.kt
- SearchProductsScreen.kt
- MyApp.kt
- Route.kt
- StartActivity.kt
- StartViewModel.kt
- styles.xml
- AndroidManifest.xml
- build.gradle.kts
- Contents.json
- Contents.json
- Contents.json
- async_let.swift
- callback_to_async.swift
- Contents.json
- IosProductDetailViewModel.swift
- ProductDetailView.swift
- IosProductsViewModel.swift
- ProductsView.swift
- IosSearchProductsViewModel.swift
- SearchProductsView.swift
- SnippetsView.swift
- DIContainer+get.swift
- kotlinxCoroutinesFlowExtensions.swift
- Napier.swift
- String+toDate.swift
- CommonUi.swift
- Info.plist
- iOSApp.swift
- Contents.json
- Contents.json
- Contents.json
- LaunchScreen.storyboard
- Main.storyboard
- IosProductsViewModel.swift
- ProductsViewController.swift
- DIContainer+get.swift
- kotlinxCoroutinesFlow+RxSwift.swift
- Napier.swift
- AppDelegate.swift
- Info.plist
- SceneDelegate.swift
- iosApp-RxSwift.xcscheme
- iosApp.xcscheme
- project.pbxproj
- IDEWorkspaceChecks.plist
- contents.xcworkspacedata
- .gitignore
- Podfile
- Podfile.lock
- AndroidAppDispatchers.kt
- identityHashCode.android.kt
- WeakReference.android.kt
- di.android.kt
- AppDispatchers.kt
- debugCheckImmediateMainDispatcher.kt
- identityHashCode.kt
- SingleEventFlow.kt
- WeakReference.kt
- fakeJson.kt
- ProductResponse.kt
- ProductItem.kt
- GetProductById.kt
- ProductDetailViewModel.kt
- GetProducts.kt
- ProductsViewModel.kt
- SearchProducts.kt
- SearchProductsViewModel.kt
- SearchViewModel.kt
- UserViewModel.kt
- ProductItemUi.kt
- di.kt
- identityHashCode.ios.kt
- IosAppDispatchers.kt
- WeakReference.ios.kt
- CoroutinesUtils.kt
- di.ios.kt
- DIContainer.kt
- NSError.kt
- build.gradle.kts
- shared.podspec
- .gitignore
- update_docs_url.sh
- codeStyleConfig.xml
- Project.xml
- kmpviewmodel_compose_sample__desktop_runMain_.xml
- .gitignore
- deploymentTargetDropDown.xml
- kotlinc.xml
- migrations.xml
- misc.xml
- vcs.xml
- KmpViewModelComposeKoinApp.kt
- MainActivity.kt
- MainActivityViewModel.kt
- strings.xml
- AndroidManifest.xml
- build.gradle.kts
- AndroidManifest.xml
- DemoRepository.kt
- ScreenA.kt
- ScreenB.kt
- ScreenC.kt
- App.kt
- DesktopApp.kt
- IosApp.kt
- build.gradle.kts
- Main.kt
- build.gradle.kts
- gradle-wrapper.jar
- gradle-wrapper.properties
- libs.versions.toml
- Contents.json
- Contents.json
- Contents.json
- Contents.json
- ContentView.swift
- KmpViewModelComposeKoinApp.swift
- project.pbxproj
- .gitignore
- build.gradle.kts
- gradle.properties
- gradlew
- gradlew.bat
- README.md
- settings.gradle.kts
- receipt.json
- gradle.yml
- main [desktop].run.xml
- isDebug.android.kt
- utils.android.kt
- WeakReference.android.kt
- AndroidTodoApp.kt
- MainActivity.kt
- ic_launcher_background.xml
- ic_launcher_foreground.xml
- ic_launcher.xml
- ic_launcher_round.xml
- ic_launcher.png
- ic_launcher_round.png
- ic_launcher.png
- ic_launcher_round.png
- ic_launcher.png
- ic_launcher_round.png
- ic_launcher.png
- ic_launcher_round.png
- ic_launcher.png
- ic_launcher_round.png
- strings.xml
- AndroidManifest.xml
- compose-multiplatform.xml
- InMemoryTodoItemRepository.kt
- TodoItem.kt
- TodoItemRepository.kt
- AddTodoItem.kt
- AddScreen.kt
- AddViewModel.kt
- navigation.kt
- ObserveTodoItemById.kt
- ToggleItemById.kt
- DetailScreen.kt
- DetailViewModel.kt
- navigation.kt
- ObserveTodoItemById.kt
- UpdateTodoItem.kt
- EditScreen.kt
- EditViewModel.kt
- navigation.kt
- ObserveAllTodoItems.kt
- RemoveItemById.kt
- ToggleItemById.kt
- HomeScreen.kt
- HomeViewModel.kt
- navigation.kt
- CollectWithLifecycleEffectDispatcher.kt
- debugCheckImmediateMainDispatcher.kt
- isDebug.kt
- SingleEventFlow.kt
- utils.kt
- WeakReference.kt
- di.kt
- TodoApp.kt
- isDebug.desktop.kt
- utils.desktop.kt
- WeakReference.desktop.kt
- main.kt
- MainViewController.kt
- main.kt
- index.html
- build.gradle.kts
- gradle-wrapper.jar
- gradle-wrapper.properties
- libs.versions.toml
- Config.xcconfig
- Contents.json
- app-icon-1024.png
- Contents.json
- Contents.json
- Contents.json
- ContentView.swift
- Info.plist
- iOSApp.swift
- project.pbxproj
- yarn.lock
- .editorconfig
- .gitignore
- build.gradle.kts
- gradle.properties
- gradlew
- gradlew.bat
- README.md
- settings.gradle.kts
- viewmodel.api
- viewmodel.api
- Closeable.android.kt
- CreationExtras.android.kt
- MainThread.android.kt
- ViewModel.android.kt
- ViewModelFactory.android.kt
- ViewModelStore.android.kt
- ViewModelStoreOwner.android.kt
- AndroidManifest.xml
- runBlockInNewThread.android.kt
- TestAtomicBoolean.android.kt
- ViewModelStoreTest.android.kt
- AbstractFlowWrapper.kt
- flow.kt
- Joinable.kt
- NonNullFlowWrapper.kt
- NonNullStateFlowWrapper.kt
- NullableFlowWrapper.kt
- NullableStateFlowWrapper.kt
- Closeable.kt
- CreationExtras.kt
- creationExtrasKtx.kt
- InternalKmpViewModelApi.kt
- MainThread.kt
- ViewModel.kt
- ViewModelFactory.kt
- ViewModelStore.kt
- ViewModelStoreOwner.kt
- runBlockInNewThread.kt
- TestAtomicBoolean.kt
- TestCloseable.kt
- FlowWrapperTest.kt
- NonNullFlowWrapperTest.kt
- NonNullStateFlowWrapperTest.kt
- NullableFlowWrapperTest.kt
- NullableStateFlowWrapperTest.kt
- CreationExtrasTest.kt
- ViewModelStoreTest.kt
- ViewModelTest.kt
- AtomicBoolean.jsAndWasm.kt
- synchronized.jsAndWasm.kt
- Closable.jsAndWasm.kt
- Lockable.jsAndWasm.kt
- runBlockInNewThread.jsAndWasm.kt
- AtomicBoolean.kt
- synchronized.kt
- Closeable.jvm.kt
- Lockable.jvm.kt
- runBlockInNewThread.jvm.kt
- AtomicBoolean.native.kt
- synchronized.native.kt
- Closeable.native.kt
- Lockable.native.kt
- runBlockInNewThread.native.kt
- SynchronizedTest.native.kt
- AtomicBoolean.kt
- synchronized.kt
- CreationExtras.nonAndroid.kt
- Lockable.kt
- MainThread.nonAndroid.kt
- ViewModel.nonAndroid.kt
- ViewModelStore.nonAndroid.kt
- AtomicBooleanTest.nonAndroid.kt
- TestAtomicBoolean.nonAndroid.kt
- LockableObjectTest.nonAndroid.kt
- ViewModelStoreTest.nonAndroid.kt
- ViewModelTest.nonAndroid.kt
- build.gradle.kts
- gradle.properties
- viewmodel-compose.api
- viewmodel-compose.api
- KmpViewModelTest.android.kt
- getClassName.android.kt
- kmpViewModel.android.kt
- viewModelStoreOwner.android.kt
- AndroidManifest.xml
- getClassName.kt
- kClassOf.kt
- defaultViewModelStoreOwner.kt
- kmpViewModel.kt
- LocalSavedStateHandleFactory.kt
- LocalViewModelStoreOwner.kt
- platformDefaults.kt
- rememberViewModelFactory.kt
- canonicalName.jsAndWasm.kt
- KmpViewModelTest.jvm.kt
- getClassName.nonAndroid.kt
- DefaultViewModelStoreOwner.nonAndroid.kt
- kmpViewModel.nonAndroid.kt
- rememberDefaultViewModelKey.nonAndroid.kt
- canonicalName.nonJsAndNonAndroid.kt
- build.gradle.kts
- gradle.properties
- viewmodel-koin.api
- viewmodel-koin.api
- AndroidManifest.xml
- koinViewModelFactory.kt
- TestSavedStateViewModel.kt
- TestViewModel.kt
- TestViewModelWithExtras.kt
- TestViewModelWithParams.kt
- KoinViewModelFactoryTest.common.kt
- build.gradle.kts
- gradle.properties
- viewmodel-koin-compose.api
- viewmodel-koin-compose.api
- koinKmpViewModel.kt
- ViewModelKeyTest.kt
- KoinKmpViewModelTest.jvm.kt
- build.gradle.kts
- gradle.properties
- viewmodel-koject.api
- viewmodel-koject.api
- AndroidManifest.xml
- kojectViewModelFactory.kt
- ViewModelComponent.kt
- ViewModelComponentExtras.kt
- build.gradle.kts
- gradle.properties
- viewmodel-koject-compose.api
- viewmodel-koject-compose.api
- kojectKmpViewModel.kt
- build.gradle.kts
- gradle.properties
- viewmodel-savedstate.api
- viewmodel-savedstate.api
- IgnoredOnParcel.kt
- Parcelable.kt
- Parceler.kt
- Parcelize.kt
- TypeParceler.kt
- WriteWith.kt
- parcelableArrayTransform.android.kt
- SafeSavedStateHandle.android.kt
- SavedStateHandle.android.kt
- SavedStateHandleSupport.android.kt
- AndroidManifest.xml
- assertValue.kt
- NonNullSavedStateHandleKeyAndroidTest.kt
- NullableSavedStateHandleKeyAndroidTest.kt
- JvmSerializable.commonJvm.kt
- IgnoredOnParcel.kt
- Parcelable.kt
- Parceler.kt
- Parcelize.kt
- TypeParceler.kt
- WriteWith.kt
- mapState.kt
- parcelableArrayTransform.kt
- InternalKmpViewModelApi.kt
- NonNullSavedStateHandleKey.kt
- NonNullSavedStateHandleKeys.kt
- NullableSavedStateHandleKey.kt
- NullableSavedStateHandleKeys.kt
- SafeSavedStateHandle.kt
- JvmSerializable.kt
- SavedStateHandle.kt
- SavedStateHandleFactory.kt
- SavedStateHandleSupport.kt
- NonNullSavedStateHandleKeyTest.kt
- NullableSavedStateHandleKeyTest.kt
- extendedAssertEquals.kt
- SavedStateHandleTest.kt
- TestParcelable.kt
- TestSerializable.kt
- IgnoredOnParcel.kt
- Parcelable.kt
- Parceler.kt
- Parcelize.kt
- TypeParceler.kt
- WriteWith.kt
- parcelableArrayTransform.nonAndroid.kt
- SavedStateHandle.nonAndroid.kt
- SavedStateHandleSupport.nonAndroid.kt
- JvmSerializable.nonJvm.kt
- build.gradle.kts
- gradle.properties
- .editorconfig
- .gitignore
- build.gradle.kts
- CHANGELOG.md
- detekt.yml
- gradle.properties
- gradlew
- gradlew.bat
- LICENSE
- logo.png
- mkdocs.yml
- README.md
- RELEASING.md
- renovate.json5
- settings.gradle.kts
// repository documentation
Was this content helpful?
(0 ratings)
