حالت در نوشتن
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
با نحوه ایجاد و مدیریت حالت در برنامه مبتنی بر نوشتن و نحوه پیکربندی رابط کاربری برای واکنش به تغییرات وضعیت آشنا شوید. نحوه ایجاد حالتهای قابل مشاهده، نحوه حفظ حالت در میان ترکیبهای مجدد یا تغییرات پیکربندی، و نحوه ساختار ترکیبپذیرها برای جریان داده بهینه را ببینید.
نکات کلیدی
- اگر وضعیت برنامه شما در یک برنامه ترکیبی داخلی است،
remember
برای حفظ وضعیت در ترکیب مجدد استفاده کنید. - از
rememberSaveable
برای حفظ وضعیت در سراسر تغییرات پیکربندی استفاده کنید. - بلند کردن حالت یک الگوی برنامهنویسی است که در آن حالت را به تماسگیرنده یک محصول ترکیبی منتقل میکنید. در صورت امکان، از بالابر حالت استفاده کنید تا مواد قابل استفاده مجدد و آزمایش پذیرتر شوند.
- از کلاس
ViewModel
برای نگه داشتن یک حالت در معرض در یک نگهدارنده وضعیت قابل مشاهده استفاده کنید، وضعیت را بهتر محصور کنید و یک منبع حقیقت واحد برای رابط کاربری ایجاد کنید.
منابع
مجموعه هایی که حاوی این راهنما هستند
این راهنما بخشی از مجموعههای راهنمای Quick Guide است که اهداف توسعه Android گستردهتری را پوشش میدهد:
نوشتن اصول اولیه (مجموعه ویدئو)
این سری از ویدیوها APIهای Compose مختلف را معرفی میکند و به سرعت به شما نشان میدهد که چه چیزی در دسترس است و چگونه از آنها استفاده کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# State in Compose\n\n\u003cbr /\u003e\n\nLearn how to establish and manage state in your Compose-based app and how\nto configure the UI to react to changes in state. See how to create observable\nstates, how to retain state across recompositions or configuration changes, and\nhow to structure your composables for optimal data flow. \n\nKey points\n----------\n\n- If your app's state is internal to a composable, use [`remember`](/reference/kotlin/androidx/compose/runtime/package-summary#remember(kotlin.Function0)) to persist the state across re-composition.\n- Use [`rememberSaveable`](/reference/kotlin/androidx/compose/runtime/saveable/package-summary#rememberSaveable(kotlin.Array,androidx.compose.runtime.saveable.Saver,kotlin.String,kotlin.Function0)) to persist the state across configuration changes.\n- *State hoisting* is a programming pattern where you move the state to the caller of a composable. Where possible, use state hoisting to make the composable more reusable and testable.\n- Use the [`ViewModel`](/reference/androidx/lifecycle/ViewModel) class to hold an exposed state in an observable state holder, better encapsulating the state and creating a single source of truth for the UI.\n\nResources\n---------\n\n- [Codelab: State in Jetpack Compose](/codelabs/jetpack-compose-state#0)\n\nCollections that contain this guide\n-----------------------------------\n\nThis guide is part of these curated Quick Guide collections that cover\nbroader Android development goals: \n\n### Compose basics (video collection)\n\nThis series of videos introduces various Compose APIs, quickly showing you what's available and how to use them. \n[Quick guide collection](/develop/ui/compose/quick-guides/collections/compose-basics) \n\nHave questions or feedback\n--------------------------\n\nGo to our frequently asked questions page and learn about quick guides or reach out and let us know your thoughts. \n[Go to FAQ](/quick-guides/faq) [Leave feedback](https://issuetracker.google.com/issues/new?component=1573691&template=1993320)"]]