ভিউমোডেল স্টোর এবং ভিউমোডেল স্টোরঅউনার কী?


12

এই নতুন ভিউমোডেলপ্রোভিডার এপিআইয়ের কারণে আমি খুব বিভ্রান্ত হয়ে পড়েছি (ভিউমোডেলপ্রভাইডাররা হ্রাস পেয়েছে)

নতুন পরিবর্তনগুলির মতো এখানে নতুন কনস্ট্রাক্টরও রয়েছে (উত্স কোড)।

# 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 == ক্রিয়াকলাপ / টুকরা?

উত্তর:


6

যে কেউ তাদের সংজ্ঞা দিতে পারেন এবং কীভাবে সেগুলি ব্যবহার করবেন এবং সেগুলি আমাদের বিকাশকারীদের কাছে আসলে কী বোঝায়?

একটি ViewModelStoreএকটি ধারক যে দোকানে একটি ViewModels যেমন বিবেচনা করা যেতে পারে HashMap। কোথায় keyস্ট্রিং মান এবং মান ViewModel সংরক্ষিত হচ্ছে ( ViewModelProviderএকটি সংযুক্তকরণের ব্যবহার string_key+ + ViewModel বর্গ প্রামাণ্য নামটি)।

ViewModelStoreOwnerনিছক একটি ইন্টারফেস। getViewModelStore()এই ইন্টারফেস দ্বারা সংজ্ঞায়িত কার্যকর করে এমন কোনও শ্রেণীর মালিক হয়ে যায় ViewModelStore। এই শ্রেণীটি তারপরে রক্ষণাবেক্ষণ করে ViewModelStoreএবং প্রয়োজনে যথাযথভাবে এটি পুনরুদ্ধার করার জন্য দায়বদ্ধ হওয়া উচিত।

আমরা প্রয়োজনের ভিত্তিতে মালিক এবং রাষ্ট্রের নিজস্ব সংস্করণটি প্রয়োগ করতে পারি।

ViewModelStoreOwner == ক্রিয়াকলাপ / টুকরা?

হ্যাঁ. অ্যান্ড্রয়েড উত্স কোডের উপর ভিত্তি করে, উভয় Fragment(থেকে androidx.fragment.app) এবং ComponentActivity(থেকে androidx.activity) প্রয়োগগুলি ViewModelStoreOwner। এই ক্লাসগুলি একটি বজায় রাখে viewModelStoreএবং মানটি যথাযথভাবে পুনরুদ্ধার করা হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.