এই নতুন ভিউমোডেলপ্রোভিডার এপিআইয়ের কারণে আমি খুব বিভ্রান্ত হয়ে পড়েছি (ভিউমোডেলপ্রভাইডাররা হ্রাস পেয়েছে)
নতুন পরিবর্তনগুলির মতো এখানে নতুন কনস্ট্রাক্টরও রয়েছে (উত্স কোড)।
# 1
public ViewModelProvider(@NonNull ViewModelStoreOwner owner) {
this(owner.getViewModelStore(), owner instanceof HasDefaultViewModelProviderFactory
? ((HasDefaultViewModelProviderFactory) owner).getDefaultViewModelProviderFactory()
: NewInstanceFactory.getInstance());
}
# 2
public ViewModelProvider(@NonNull ViewModelStoreOwner owner, @NonNull Factory factory) {
this(owner.getViewModelStore(), factory);
}
# 3
public ViewModelProvider(@NonNull ViewModelStore store, @NonNull Factory factory) {
mFactory = factory;
mViewModelStore = store;
}
গ্রেডল অবক্ষয়:
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0-rc02"
সুতরাং এই নির্মাণকারীর প্রয়োজন ViewModelStore
এবং viewModelStoreOwner
।
ডক:
@ পরিমাপের দোকান {@ কোড ভিউমোডেল স্টোর View যেখানে ভিউমোডেলগুলি সঞ্চয় করা হবে।
@ পরিমাপের মালিক এমন একটি {@ কোড ভিউমোডেলস্টোর ওউনার} যার {@ লিঙ্ক ভিউমোডেল স্টোর retain ধরে রাখতে ব্যবহার করা হবে {@ কোড ভিউমোডেলস}
যে কেউ তাদের সংজ্ঞা দিতে পারেন এবং কীভাবে সেগুলি ব্যবহার করবেন এবং সেগুলি আমাদের বিকাশকারীদের কাছে আসলে কী বোঝায়?
ViewModelStoreOwner == ক্রিয়াকলাপ / টুকরা?