ধীরে ধীরে লোড করা এবং পেজিংয়ের মাধ্যমে, আপনি নিজের অ্যাপে আইটেমের বড় তালিকা—যার মধ্যে অসীম তালিকাও অন্তর্ভুক্ত—ধীরে ধীরে ডেটা লোড ও দেখানোর মাধ্যমে সাপোর্ট করতে পারবেন। এই টেকনিকের সাহায্যে আপনি প্রাথমিক লোড টাইম কমাতে এবং মেমরির ব্যবহার অপ্টিমাইজ করতে পারবেন, যার ফলে পারফর্ম্যান্স উন্নত হবে।
ফলাফল
ব্যবহারকারী স্ক্রল করার সময় ডেটা ফেচ করার বড় তালিকার ফলে কী ধরনের আচরণ দেখা যায় তা নিচের ভিডিওতে দেখানো হয়েছে।
ভার্সন কম্প্যাটিবিলিটি
এই প্রয়োগের জন্য আপনার প্রোজেক্টের minSDK-কে API লেভেল ২১ বা তার বেশি হিসেবে সেট করতে হবে।
ডিপেন্ডেন্সি
পৃষ্ঠায় কন্টেন্ট দেখান
পেজিং লাইব্রেরির সাহায্যে, আপনি স্থানীয় স্টোরেজ বা নেটওয়ার্ক থেকে পাওয়া বড় ডেটাসেট থেকে ডেটার পৃষ্ঠা লোড ও ডিসপ্লে করতে পারবেন। নিম্নলিখিত কোড ব্যবহার করে পৃষ্ঠা অনুযায়ী তালিকা দেখান, যেখানে প্রোগ্রেস বার ব্যবহারকারীকে দেখায় যে আরও ডেটা ফেচ করা হচ্ছে:
@Composable fun MessageList( modifier: Modifier, pager: Pager<Int, Message> ) { val lazyPagingItems = pager.flow.collectAsLazyPagingItems() LazyColumn { items( lazyPagingItems.itemCount, key = lazyPagingItems.itemKey { it.id } ) { index -> val message = lazyPagingItems[index] if (message != null) { MessageRow(message) } else { MessagePlaceholder() } } } @Composable fun MessagePlaceholder(modifier: Modifier) { Box( Modifier .fillMaxWidth() .height(48.dp) ) { CircularProgressIndicator() } } @Composable fun MessageRow( modifier: Modifier, message: Message ) { Card(modifier = Modifier.padding(8.dp)) { Column( modifier = Modifier.padding(8.dp), verticalArrangement = Arrangement.Center ) { Text(message.sender) Text(message.text) } } } }
কোড সম্পর্কে গুরুত্বপূর্ণ পয়েন্ট
LazyColumn: এই কম্পোজেবল আইটেমের (মেসেজ) একটি বড় তালিকা দক্ষতার সাথে দেখাতে ব্যবহার করা হয়। এটি শুধুমাত্র স্ক্রিনে দেখা যায় এমন আইটেম রেন্ডার করে, যার ফলে রিসোর্স ও মেমরি সাশ্রয় হয়।lazyPagingItemsঅবজেক্টLazyColumn-এর মধ্যে পেজ করা ডেটার লোডিং ও প্রেজেন্টেশন দক্ষতার সাথে ম্যানেজ করে। এটিLazyColumnকম্পোজেবলেLazyPagingItems-কেitems-এ পাস করে।MessageRow(message: Text)আলাদা আলাদা মেসেজ আইটেম রেন্ডার করার জন্য দায়ী, সম্ভবত কার্ডের মধ্যে মেসেজের প্রেরক ও টেক্সট দেখায়।- আসল মেসেজ ডেটা ফেচ করার সময়
MessagePlaceholder()একটি ভিজ্যুয়াল প্লেসহোল্ডার (একটি লোডিং স্পিনার) প্রদান করে, যা ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে।
এই নির্দেশিকা আছে এমন কালেকশন
এই গাইডটি এই কিউরেট করা দ্রুত গাইড সংগ্রহের অংশ যা কভার করে আরও বিস্তৃত Android ডেভেলপমেন্টের লক্ষ্য:
তালিকা বা গ্রিড দেখান
ইন্টার্যাক্টিভ কম্পোনেন্ট দেখান