অ্যান্ড্রয়েড জেটপ্যাকের ডেটা বাইন্ডিং লাইব্রেরি অংশ।

ডেটা বাইন্ডিং লাইব্রেরি হল একটি সাপোর্ট লাইব্রেরি যা আপনাকে আপনার লেআউটে থাকা UI উপাদানগুলিকে আপনার অ্যাপের ডেটা সোর্সগুলির সাথে প্রোগ্রামের পরিবর্তে একটি ঘোষণামূলক বিন্যাস ব্যবহার করে আবদ্ধ করতে দেয়৷

লেআউটগুলি প্রায়ই কোড সহ কার্যকলাপে সংজ্ঞায়িত করা হয় যা UI ফ্রেমওয়ার্ক পদ্ধতিগুলিকে কল করে। উদাহরণ স্বরূপ, নিচের কোডটি একটি TextView উইজেট খুঁজে পেতে findViewById() কল করে এবং viewModel ভেরিয়েবলের userName বৈশিষ্ট্যের সাথে আবদ্ধ করে:

কোটলিন

findViewById<TextView>(R.id.sample_text).apply {
    text = viewModel.userName
}

জাভা

TextView textView = findViewById(R.id.sample_text);
textView.setText(viewModel.getUserName());

নিচের উদাহরণটি দেখায় কিভাবে ডাটা বাইন্ডিং লাইব্রেরি ব্যবহার করে লেআউট ফাইলে সরাসরি উইজেটে টেক্সট বরাদ্দ করা যায়। এটি উপরে দেখানো জাভা কোডের যেকোনও কল করার প্রয়োজনকে সরিয়ে দেয়। অ্যাসাইনমেন্ট এক্সপ্রেশনে @{} সিনট্যাক্সের ব্যবহার লক্ষ্য করুন:

<TextView
    android:text="@{viewmodel.userName}" />

লেআউট ফাইলে বাইন্ডিং কম্পোনেন্টগুলি আপনাকে আপনার ক্রিয়াকলাপে অনেকগুলি UI ফ্রেমওয়ার্ক কল মুছে ফেলতে দেয়, সেগুলিকে সহজ এবং বজায় রাখা সহজ করে তোলে। এটি আপনার অ্যাপের কর্মক্ষমতাও উন্নত করতে পারে এবং মেমরি লিক এবং নাল পয়েন্টার ব্যতিক্রম প্রতিরোধে সহায়তা করতে পারে।

ডেটা বাইন্ডিং লাইব্রেরি ব্যবহার করা

আপনার Android অ্যাপে ডেটা বাইন্ডিং লাইব্রেরি কীভাবে ব্যবহার করবেন তা শিখতে নিম্নলিখিত পৃষ্ঠাগুলি ব্যবহার করুন৷

শুরু করুন
অ্যান্ড্রয়েড স্টুডিওতে ডেটা বাইন্ডিং কোডের সমর্থন সহ ডেটা বাইন্ডিং লাইব্রেরির সাথে কাজ করার জন্য কীভাবে আপনার বিকাশের পরিবেশ তৈরি করবেন তা শিখুন।

লেআউট এবং বাইন্ডিং এক্সপ্রেশন

অভিব্যক্তি ভাষা আপনাকে অভিব্যক্তি লিখতে দেয় যা ভেরিয়েবলগুলিকে বিন্যাসের দৃশ্যগুলির সাথে সংযুক্ত করে। ডেটা বাইন্ডিং লাইব্রেরি স্বয়ংক্রিয়ভাবে আপনার ডেটা অবজেক্টের সাথে লেআউটে ভিউ আবদ্ধ করার জন্য প্রয়োজনীয় ক্লাস তৈরি করে। লাইব্রেরি আমদানি, ভেরিয়েবলের মতো বৈশিষ্ট্যগুলি প্রদান করে এবং এটি অন্তর্ভুক্ত করে যা আপনি আপনার লেআউটগুলিতে ব্যবহার করতে পারেন৷

লাইব্রেরির এই বৈশিষ্ট্যগুলি আপনার বিদ্যমান লেআউটগুলির সাথে নির্বিঘ্নে সহাবস্থান করে৷ উদাহরণস্বরূপ, বাইন্ডিং ভেরিয়েবল যেগুলি এক্সপ্রেশনে ব্যবহার করা যেতে পারে সেগুলি একটি data উপাদানের ভিতরে সংজ্ঞায়িত করা হয় যা UI লেআউটের মূল উপাদানের একটি ভাই। উভয় উপাদান একটি layout ট্যাগে মোড়ানো হয়, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

<layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
    <data>
        <variable
            name="viewmodel"
            type="com.myapp.data.ViewModel" />
    </data>
    <ConstraintLayout... /> <!-- UI layout's root element -->
</layout>

পর্যবেক্ষণযোগ্য ডেটা অবজেক্টের সাথে কাজ করুন
ডেটা বাইন্ডিং লাইব্রেরি পরিবর্তনের জন্য সহজে ডেটা পর্যবেক্ষণ করার জন্য ক্লাস এবং পদ্ধতি প্রদান করে। অন্তর্নিহিত ডেটা উৎস পরিবর্তন হলে UI রিফ্রেশ করার বিষয়ে আপনাকে চিন্তা করতে হবে না। আপনি আপনার ভেরিয়েবল বা তাদের বৈশিষ্ট্য পর্যবেক্ষণযোগ্য করতে পারেন। লাইব্রেরি আপনাকে বস্তু, ক্ষেত্র বা সংগ্রহকে পর্যবেক্ষণযোগ্য করে তুলতে দেয়।
উত্পন্ন বাঁধাই ক্লাস
ডেটা বাইন্ডিং লাইব্রেরি বাইন্ডিং ক্লাস তৈরি করে যা লেআউটের ভেরিয়েবল এবং ভিউ অ্যাক্সেস করতে ব্যবহৃত হয়। এই পৃষ্ঠাটি আপনাকে দেখায় কিভাবে জেনারেটেড বাইন্ডিং ক্লাস ব্যবহার এবং কাস্টমাইজ করতে হয়।
বাঁধাই অ্যাডাপ্টার
প্রতিটি লেআউট এক্সপ্রেশনের জন্য, একটি বাঁধাই অ্যাডাপ্টার রয়েছে যা সংশ্লিষ্ট বৈশিষ্ট্য বা শ্রোতাদের সেট করার জন্য প্রয়োজনীয় ফ্রেমওয়ার্ক কল করে। উদাহরণস্বরূপ, বাইন্ডিং অ্যাডাপ্টার টেক্সট বৈশিষ্ট্য সেট করতে setText() পদ্ধতিতে কল করার যত্ন নিতে পারে বা ক্লিক ইভেন্টে একজন শ্রোতা যোগ করতে setOnClickListener() পদ্ধতিতে কল করতে পারে। সবচেয়ে সাধারণ বাইন্ডিং অ্যাডাপ্টার, যেমন android:text বৈশিষ্ট্যের জন্য অ্যাডাপ্টারগুলি এই পৃষ্ঠার উদাহরণগুলিতে ব্যবহৃত, আপনার জন্য android.databinding.adapters প্যাকেজে ব্যবহার করার জন্য উপলব্ধ৷ সাধারণ বাঁধাই অ্যাডাপ্টারের তালিকার জন্য, অ্যাডাপ্টারগুলি দেখুন। এছাড়াও আপনি কাস্টম অ্যাডাপ্টার তৈরি করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

কোটলিন

@BindingAdapter("app:goneUnless")
fun goneUnless(view: View, visible: Boolean) {
    view.visibility = if (visible) View.VISIBLE else View.GONE
}

জাভা

@BindingAdapter("app:goneUnless")
public static void goneUnless(View view, Boolean visible) {
    view.visibility = visible ? View.VISIBLE : View.GONE;
}
আর্কিটেকচার উপাদানে বিন্যাস দৃশ্য আবদ্ধ করুন
অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরিতে আর্কিটেকচার কম্পোনেন্ট রয়েছে, যা আপনি শক্তিশালী, পরীক্ষাযোগ্য এবং রক্ষণাবেক্ষণযোগ্য অ্যাপ ডিজাইন করতে ব্যবহার করতে পারেন। আপনি আপনার UI এর বিকাশকে আরও সহজ করতে ডেটা বাইন্ডিং লাইব্রেরির সাথে আর্কিটেকচার উপাদানগুলি ব্যবহার করতে পারেন।
দ্বি-মুখী ডেটা বাইন্ডিং
ডেটা বাইন্ডিং লাইব্রেরি দ্বিমুখী ডেটা বাইন্ডিং সমর্থন করে। এই ধরণের বাঁধাইয়ের জন্য ব্যবহৃত স্বরলিপি একটি সম্পত্তিতে ডেটা পরিবর্তনগুলি গ্রহণ করার এবং একই সময়ে সেই সম্পত্তিতে ব্যবহারকারীর আপডেটগুলি শোনার ক্ষমতা সমর্থন করে।
{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}