TGTGInsighttelegram intelligenceLIVE / telegram public index
← Android Broadcast
Android Broadcast avatar

TGINSIGHT POST

Post #9081

@android_broadcast

Android Broadcast

Vues4,780Nombre de vues
Publié9 mai09/05/2025 06:03
Contenu

Contenu du post

🚀SavedState 1.3.0: Поддержка KotlinX Serialization и Kotlin Property delegate для удобства работы Что нового: 👉 SavedState теперь полностью KMP библиотека с поддержкой Android, iOS, Linux, Mac и JVM 👉 LocalSavedStateRegistryOwner теперь не является частью Compose UI, а будет частью нового артефакта - savedstate-compose 👉 Появился обобщенный тип SavedState, который Bundle на Android и Map<String, Any> на других платформах // Создаем SavedState с помощью DSL: val savedState = savedState { putInt("currentPage", 1) putString("filter", "favorites") } val currentPage = savedState.read { getInt("currentPage") } savedState.write { remove("currentPage") } 🏝 Добавили поддержку KotlinX Serialization🔥 @Serializable data class Person(val firstName: String, val lastName: String) fun main() { val person = Person("John", "Doe") val encoded: SavedState = encodeToSavedState(person) val decoded: Person = decodeFromSavedState(encoded) } 🏝 Используйте новый делегат saved в Activity и ViewModel class MyActivity : ComponentActivity() { var person by saved { Person("John", "Doe") } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) this.person = Person("Jane", "Doe") } } class MyViewModel(handle: SavedStateHandle) : ViewModel() { var person by handle.saved { Person("John", "Doe") } fun onPersonChanged(person: Person) { this.person = person } } #android#jetpack#jetpackupdate#kmp#kotlin#ios#desktop