অলস লোডিং এবং পেজিং সহ, আপনি ক্রমবর্ধমানভাবে ডেটা লোড এবং প্রদর্শনের মাধ্যমে আপনার অ্যাপে আইটেমগুলির বড় তালিকাকে সমর্থন করতে পারেন—একটি অসীম তালিকা সহ। এই কৌশলটি আপনাকে প্রারম্ভিক লোডের সময় কমাতে এবং মেমরি ব্যবহার অপ্টিমাইজ করতে সক্ষম করে, কর্মক্ষমতা বৃদ্ধি করে।
সংস্করণ সামঞ্জস্য
এই বাস্তবায়নের জন্য আপনার প্রজেক্ট minSDK এপিআই লেভেল 21 বা তার উপরে সেট করা প্রয়োজন।
নির্ভরতা
পৃষ্ঠাযুক্ত সামগ্রী প্রদর্শন করুন
পেজিং লাইব্রেরির সাহায্যে, আপনি স্থানীয় স্টোরেজ বা নেটওয়ার্কের মাধ্যমে অর্জিত একটি বড় ডেটাসেট থেকে ডেটার পৃষ্ঠাগুলি লোড এবং প্রদর্শন করতে পারেন। একটি পেজিনেটেড তালিকা প্রদর্শন করতে নিম্নলিখিত কোডটি ব্যবহার করুন যা ব্যবহারকারীকে নির্দেশ করতে একটি অগ্রগতি বার দেখায় যে আরও ডেটা আনা হচ্ছে:
@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
মধ্যে পৃষ্ঠাযুক্ত ডেটা লোড এবং উপস্থাপনা পরিচালনা করে। এটিLazyPagingItems
LazyColumn
কম্পোজযোগ্যitems
পাস করে। -
MessageRow(message: Text)
পৃথক বার্তা আইটেম রেন্ডার করার জন্য দায়ী, সম্ভবত একটি কার্ডের মধ্যে প্রেরক এবং বার্তাটির পাঠ্য প্রদর্শন করে। -
MessagePlaceholder()
একটি ভিজ্যুয়াল প্লেসহোল্ডার (একটি লোডিং স্পিনার) প্রদান করে যখন প্রকৃত বার্তা ডেটা আনা হচ্ছে, ব্যবহারকারীর অভিজ্ঞতা বৃদ্ধি করে৷
ফলাফল
নিম্নলিখিত ভিডিওটি ব্যবহারকারীর স্ক্রোল করার সাথে সাথে ডেটা আনার একটি বৃহৎ তালিকার ফলস্বরূপ আচরণ দেখায়।
এই নির্দেশিকা ধারণকারী সংগ্রহ
এই নির্দেশিকাটি এই কিউরেট করা কুইক গাইড সংগ্রহের অংশ যা বৃহত্তর অ্যান্ড্রয়েড উন্নয়ন লক্ষ্যগুলি কভার করে:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=bn)
একটি তালিকা বা গ্রিড প্রদর্শন করুন
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=bn)
ইন্টারেক্টিভ উপাদান প্রদর্শন
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=bn)