کتابخانه های ktx در اندروید
شنبه, ۲۲ مهر ۱۴۰۲، ۰۳:۵۸ ق.ظ
کتابخانه های ktx در اندروید یه سری API جدید و ساده با استفاده از لامبدا اینا برای ما ایجاد میکنن. این لایبرری ها رو باید به صورت دستی در پروژه اضافه کنیم. یکی از بهترین هاش که معمولا استفاده میشه، برای instance کردن ویو مدل هست که توسط delegation انجام میشه.
private val myViewModel : MyViewModel by viewModels() //لایف سایکل متصل به فرگمنت
private val myViewModel1 by viewModels<MyViewModel>() //لایف سایکل متصل به فرگمنت
private val myViewModel2 : MyViewModel by activityViewModels() // لایف سایکل متصل به اکتیویتی
موقع ساخت آبجکت ویو مدل باید به اینکه میخوایم در چه لایف سایکلی از اپ زنده باشه دقت کنیم.
روش کلاسیک ایجاد ویومدل:
val vm = ViewModelProvider(this).get(MyViewModel::class.java)
ایجاد ویو مدل با استفاده از lazy:
private val MyViewModelby lazy { ViewModelProvider(this).get(MyViewModel::class.java) }
۰۲/۰۷/۲۲