Junior
Android-də bir fəaliyyətindən digərinə məlumatların necə ötürülməsi?
sobes.tech Süni İntellekt
AI-dan cavab
Məlumatlar Intent istifadə edilərək ötürülə bilər:
-
Mənbə Activity-də: Məlumatları
putExtra(String key, value)kimi metodlarlaIntent-in Extras hissəsinə yerləşdirin.// Intent hazırlamaq val intent = Intent(this, TargetActivity::class.java) // Məlumat əlavə etmək intent.putExtra("myString", "Salam ilk Activity-dən") intent.putExtra("myInt", 123) intent.putExtra("myBool", true) // Parcelable və ya Serializable tətbiq edən obyektləri də ötürmək olar // intent.putExtra("myObject", myParcelableObject) // Yeni Activity-ni başlatmaq startActivity(intent) -
Hədəf Activity-də:
onCreatevə yaonNewIntentmetodunda alınanIntent-dən Extras məlumatlarını çıxarın.// Hədəf Activity-də onCreate() içində override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_target) // Bu Activity-ni başlatmış Intent-i alın val intent = intent // Açar ilə məlumatları çıxarın val myString = intent.getStringExtra("myString") val myInt = intent.getIntExtra("myInt", 0) // İkinci arqument standart dəyər val myBool = intent.getBooleanExtra("myBool", false) // Çıxarılmış məlumatları işləyin println("Alınan sətir: $myString") println("Alınan ədəd: $myInt") println("Alınan boolean: $myBool") // Parcelable və ya Serializable obyektlər üçün // val myObject = intent.getParcelableExtra<MyParcelableClass>("myObject") }
Digər məlumat ötürmə metodları, daha mürəkkəb və ya böyük həcmli məlumatlar üçün:
ViewModelpaylaşımı (SharedViewModel vasitəsilə): Bağlı komponentlər arasında ümumi məlumatlar üçün əlverişlidir.Bundle(Intent Extras daxilində):putExtradaxili olaraqBundleistifadə edir.- Statik dəyişənlər/singletonlar: Diqqətli istifadə edilməlidir, yaddaş sızmalarına və vəziyyət problemlərinə səbəb ola bilər.
- Verilənlər bazası/SharedPreferences: Daimi saxlama və ya məlumatların ötürülməsi üçün.
- Event Bus (məsələn, EventBus, RxJava): Asinxron şəkildə komponentlər arasında hadisə və ya məlumatların ötürülməsi üçün.
- File I/O: Fayla yazma və ondan oxuma.