# android-jetpack-compose

Published articles for android-jetpack-compose.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Simplified navigation between Composables of Jetpack Compose using Simple-Stack

DevFeed: [Simplified navigation between Composables of Jetpack Compose using Simple-Stack](<https://devfeed.tech/articles/simplified-navigation-between-composables-of-jetpack-compose-using-simple-stack-25936.md>)

Original publisher: [Read original article](<https://zhuinden.medium.com/simplified-navigation-between-composables-of-jetpack-compose-using-simple-stack-9a796a909128?source=rss-7a8d96da8cb6------2>)

Author: Gabor Varadi

Published: 2021-03-09T15:10:09Z

Content type: tutorial

Language: en

Sources: [Stories by Gabor Varadi on Medium](<https://devfeed.tech/sources/stories-by-gabor-varadi-on-medium.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [android-jetpack-compose](<https://devfeed.tech/tags/android-jetpack-compose.md>), [compose](<https://devfeed.tech/tags/compose.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [simple-stack](<https://devfeed.tech/tags/simple-stack.md>), [state](<https://devfeed.tech/tags/state.md>), [state-management](<https://devfeed.tech/tags/state-management.md>)

### AI overview

This tutorial explains how to use Simple-Stack's Compose integration for navigation between Jetpack Compose screens. It covers dependency and Activity setup, key classes, backstack navigation, configuration-change data storage, scoped services, lifecycle callbacks, and state persistence. The integration is described as beta.

### Source excerpt

Have you ever wanted to navigate between two Composables? Do you wish it were as easy as backstack.goTo(SomeScreen(arg1, arg2)) and you would go there? Good news, because now that seems to be possible with Simple-Stack's Compose integration -- which I consider BETA for now, but nonetheless, it's possible. What it looks likeInitial setup and dependencies: First, you would add the dependencies: implementation 'com.github.Zhuinden:simple-stack:2.6.0' implementation 'com.github.Zhuinden:simple-stack-extensions:2.2.0' implementation 'com.github.Zhuinden:simple-stack-compose-integration:0.2.0' And of course, you'd add Jitpack (not JCenter): // build.gradle allprojects { repositories { // ... maven { url "https://jitpack.io" } } // ... } And most importantly, you'd enable Compose: compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' useIR = true } buildFeatures { compose true }Setup To use Simple-Stack within an Activity, we use the Navigator, as always. The Compose integration is merely a different implementation of StateChanger, along with a helper that allows exposing the Backstack as a CompositionLocal for children within the composable tree. class MainActivity : AppCompatActivity() { private val composeStateChanger = AnimatingComposeStateChanger() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val backstack = Navigator.configure() .setScopedServices(DefaultServiceProvider()) .setStateChanger(AsyncStateChanger(composeStateChanger)) .install(this, androidContentFrame, History.of(FirstKey())) setContent { BackstackProvider(backstack) { MaterialTheme { Box(Modifier.fillMaxSize()) { composeStateChanger.RenderScreen() } } } } } override fun onBackPressed() { if (!Navigator.onBackPressed(this)) { super.onBackPressed() } } } This implementation of StateChanger is able to switch between keys that extend from DefaultComposeKey. In the samples, I genera