rememberSaveable
Yapılandırma değişiklikleri boyunca durumu koruyun.
rememberSaveable, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.
remember Sorunu
remember yeniden oluşturmadan sağ çıkar, ancak ekranın döndürülmesi gibi yapılandırma değişikliklerinden sağ çıkamaz. Etkinlik yeniden oluşturulduğunda hatırlanan durum kaybolur ve başlangıç değerine sıfırlanır.
rememberSaveable Kullanıma Sunuluyor
rememberSaveable, remember gibi çalışır; ayrıca değeri yapılandırma değişiklikleri ve işlem sonlandırılması boyunca kaydeder, ardından geri yükler.
var count by rememberSaveable { mutableStateOf(0) }Döndürme Örneği
Yalın remember ile telefonu döndürmek sayacı 0'a sıfırlar. rememberSaveable ile sayı döndürme sonrasında korunur.
Nasıl Kaydeder?
rememberSaveable, perde arkasında değeri etkinliğin kaydedilmiş örnek durumu Bundle'ında depolar. Bu, eski Görünüm sisteminin onSaveInstanceState için kullandığı mekanizmanın aynısıdır.
Desteklenen Türler
Bir Bundle içine sığan türleri otomatik olarak kaydeder: ilkel türler, String ve Parcelable nesneleri. Özel türler için biraz ek çalışma gerekir.
İşlemin Sonlandırılması
Android belleği geri kazanmak için uygulamanızı arka planda sonlandırır ve kullanıcı daha sonra geri dönerse rememberSaveable, kaydedilen durumu geri yükler; böylece ekran kullanıcının bıraktığı gibi görünür.
Özel Kaydediciler
Otomatik olarak kaydedilemeyen bir tür için, onu kaydedilebilir bir biçime dönüştüren ve bu biçimden geri dönüştüren bir Kaydedici sağlayın. Compose, listSaver ve mapSaver gibi yardımcılar sunar.
val saver = listSaver<MyState, Any>(
save = { listOf(it.a, it.b) },
restore = { MyState(it[0] as Int, it[1] as String) }
)Özel Kaydedici Kullanma
Compose'un türünüzü nasıl kalıcı hâle getireceğini bilmesi için kaydediciyi saver parametresi aracılığıyla rememberSaveable'a aktarın.
var state by rememberSaveable(stateSaver = saver) {
mutableStateOf(MyState(0, ""))
}Hangisi Ne Zaman Kullanılmalı?
Kullanıcının döndürme sonrasında kaybetmekten rahatsız olacağı durumlar için rememberSaveable kullanın: form girdisi, kaydırma konumu ve seçili sekme gibi. Sıfırlanması sorun olmayan geçici kullanıcı arayüzü durumu için yalın remember kullanın.
Büyük Veriler İçin Değil
Kaydedilen Bundle küçüktür. Büyük verileri (bit eşlemleri, uzun listeler) rememberSaveable içinde depolamayın. Ağır verileri bir ViewModel veya depoda tutun ve yalnızca küçük tanımlayıcıları kaydedin.
Hepsini Birleştirme
rememberSaveable sayesinde döndürme işleminden sonra da korunan bir form alanı.
@Composable
fun LoginField() {
var email by rememberSaveable { mutableStateOf("") }
TextField(
value = email,
onValueChange = { email = it }
)
}Hızlı Kontrol
rememberSaveable, remember öğesinin yapmadığı neyi yapar?
Özet
rememberSaveable:
- Yalnızca yeniden oluşturma sırasında değil, döndürme işleminden ve işlemin sonlandırılmasından sonra da durumu korur.
- Temel türleri,
StringveParcelableöğelerini otomatik olarak kaydeder. - Özel türler için bir Saver kullanın.
- Kaydedilen verileri küçük tutun; büyük veriler bir ViewModel içinde bulunmalıdır.
Yapay zeka eğitmeniyle Kotlin öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 36
- Dersler
- 152
Sıkça Sorulan Sorular
“rememberSaveable” dersi ücretsiz mi?
Evet — “rememberSaveable” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.
“rememberSaveable” dersinde ne öğreneceğim?
Yapılandırma değişiklikleri boyunca durumu koruyun. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“rememberSaveable” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.