ریسایکلر ویو چیست؟ ساخت RecyclerView در اندروید چگونه است؟ فرق ریسایکلر ویو و لیست ویو چیست؟ برای آموزش کار با RecyclerView در اندروید استودیو تا آخر با این مطلب از سایت اموزش برنامه نویسی الکامکو همراه ما باشید.
ریسایکلر ویو چیست؟
برای جواب دادن به این سوال که RecyclerView چیست باید بگیم که وقتی می خواهید برنامه نویسی اندروید انجام بدید برای اینکه فضای صفحه نمایش گوشی کوچیک است و ظرفیت محدودی دارد نمی توانیم همه چیز را درون صفحه قرار دهیم و بگنجانیم. بخاطر همین از مفهومی بنام لیست استفاده می کنیم. ولی وقتی آیتم های زیادی داریم و یا نیاز داریم تا محتوای این لیست همش تغییر کند استفاده از لیست باعث می شود اپلیکیشنی که داریم می سازیم کند کار کند. برای حل این مشکل از مفهومی به نام ریساکلر ویو در ساخت برنامه اندروید استفاده می کنیم.
معنی ریسایکلر (Recycler) یعنی بازیافت! و این یعنی یک با اینکار یک لیست قابل بازیافت خواهیم داشت.
مفهوم لیست (List) برای درک آموزش ریسایکلر ویو در اندروید:
اپلیکیشن تلگرام رو که باز می کنید یک لیست از چت هایی که دارید باز می شود یا مثلا اپلیکیشنی که باهاش موسیقی گوش میدید دارای بیستی از آهنگ ها هست. حتی صفحه خانه (Home Screen) گوشی یا تبلت هوشمند شما هم در برنامه نویسی اندروید یک لیست (List) محسوب می شود. لیست ها راحت ترین راه نمایش داده روی ابزار ها با صفحه نمایش کوچک (همانند گوشی هوشمند) محسوب می شوند. پس داده های بسیار زیاد را می توانند روی یک صفحه کوچک به نمایش بگذارند.
در حالی که لیست ها در نمایش یک سری از داده هایی که مشابه به نظر می رسند عالی هستند، ممکن است که در مصرف منابع خیلی خوب نباشند. زیرا می بینید که یه لیست هر بار که اسکرول میخوره نیاز به ایجاد یک view جدیدتر هست و ایجاد view جدید یک عمل سنگین و گران (از لحاظ مصرف منابع) می باشد. یک لیست سنگین به این معنی است که برنامه مورد نظر در مصرف منابع سیستمی نیز گرسنه تر است. این مسئله در اندروید قبل از اینکه RecyclerView معرفی بشه برای سالیان سال مشکل به حساب می آمد.
همچنین بخوانید » دوره آموزش دات نت کور مهارت محور با ساخت پروژه های حرفه ای از پایه تا فوق پیشرفته
نمونه ای از ساخت ریسایکلر ویو در اندروید
از نمونه های کاربردی در ساخت ریسایکلر ویو در اندروید می توان به پیام رسان هایی مثل واتساپ، لیست مخاطبین تلفن همراه، لیست ایمیلها و خلاصه هر چیزی که در گوشی لیستی نمایش داده می شود اشاره کرد.
همچنین بخوانید: استفاده از برنامه ساز اندروید یا برنامه نویسی اندروید؟
همچنین بخوانید: فعالیت در اندروید چیست و چگونه ایجاد می شود؟
ریسایکلر ویو اندروید (RecyclerView) چه فرقی با لیست ویو (ListView) در اندروید دارد؟
ریسایکلر ویو اندروید مانند لیست ویو کار می کند، یک مجموعه داده را روی صفحه نمایش نشان داده اما از رویکردی متفاوت برای رسیده به هدفش استفاده می کند که در ادامه به انها می پردازیم:
- ریسایکلر ویو و لیست ویو خیلی شبیه هم هستند ولی در واقع RecyclerView، نسخه پیشرفته تر و انعطاف پذیرتری از ListView محسوب می شود.
- کار کردن با ریسایکلر ویو خیلی راحت تر و بهینه تر است.
- در کد نویسی اندروید زمانی که داده شما بسیار سنگین باشد ریسایکلر ویو پرسرعت تر از لیست ویو است.
- از بهترین ویژگی های RecyclerView در لود داده بالا و همینطور اسکرول فوق العاده روان است البته به صورت پیشفرض این Scroll فعال نیست و باید فعال شود به صورت پیشفرض SDK خود اندروید RecyclerView را ندارد و باید مثل کتاب خانه به پروژه اضافه شود.
- لیست ویو (List View) به ازای همه ی آیتم ها یک View می سازد ولی ریسایکلر ویو (RecyclerView) اینطوری نیست و به ازای همان تعداد که در قاب گوشی جای می گیرد برای آیتم های ما View می سازد. و وقتیکه که ما صفحه ی گوشی را اسکرول می کنیم اون آیتمی که از سمت بالا از گوشی خارج می شود سریع به قسمت پایین می آید و این تغیر خیلی سریع اتفاق می افتد به قدری که ما متوجه این کار نمی شویم.
- در RecyclerView بر خلاف ListView تعداد View ایی که برای لیستمون می سازیم خیلی کمتر است یعنی به اندازه قاب گوشیم است و این نیز دلیل بر بهینه بودن آن می باشد.
- مطمئنا، ListView نیز می تواند دارای ViewHolder باشد، اما این به صورت پیش فرض امکان پذیر نمی باشد و ما را مجبور می کند که کد بیشتری را برای بهبود کارایی لیست استفاده کنیم.
از سوی دیگر، ViewHolder ها قسمت مهمی از کل معماری RecyclerView می باشد، به این معنی که سیستم شما را مجبور می کند برای هر layout ای که ممکن است به کار بگیرید، یک ViewHolder داشته باشید. معماری سپس از این ViewHolder ها جهت ساخت کپی View از layout ای که میخواهد استفاده شود، استفاده می کند و به جای ایجاد مجدد آنها، از view های کش (cached) شده استفاده می کند و آنها را با داده های جدید bind می کند.
با نگاه کردن به عکس پایین تفاوت ریسایکلر ویو و لیست ویو رو بهتر درک می کنید:
همچنین بخوانید: Java با JavaScript فرق می کند!
همچنین بخوانید: انواع نسخه های جاوا، اخرین نسخه زبان جاوا، فهمیدن ورژن جاوا، کدام نسخه جاوا بهتر است؟
مزایای RecyclerView در اندروید چیست؟
- در RecyclerView اندروید تنها آیتمهای قابل نمایش در صفحه، و چند آیتم یدکی دیگر bind میشوند، این یعنی علاوه بر اینکه همواره کارایی برنامه حفظ میشود، همواره تعدادی از آیتم ها برای نمایش آماده اند.
- در RecyclerView اندروید آیتم هایی که قبلا اسکرول شده و از صفحه خارج شده اند، ذخیره میشوند تا به محض نیاز، دوباره نمایش داده شوند. از طرف دیگر اگر همینطور به اسکرول در یک جهت ادامه دهید، هولدر هایی که خیلی عقب هستند، دوباره برای نمایش آیتم های جدید مورد استفاده قرار میگیرند، بدون اینکه حافظهی اضافی اشغال شود.
- در RecyclerView اندروید وقتی که آیتمها تغییر کنند، میتوان با اطلاع رسانی به adapter و فراخوانی تابع notifyItemChanged باعث شد تا کدهای داخلی آداپتور تنها آیتمهای تحت تأثیر را آپدیت کند.
- در RecyclerView اندروید امکان پیاده سازی انیمیشن برای زیباتر شدن نحوه اضافه و یا حذف شدن آیتم ها فراهم شده است.
نگاهی به ساخت RecyclerView در اندرویداز نظر گوگل:
گوگل مفهوم ساخت ریسایکلر ویو را در کنار CardView و Design Support Library در سال ۲۰۱۴ با عرضه اندروید Lollipop منتشر کرد. ایده پشت RecyclerView ساده است، به جای ساخت و ایجاد View برای هر دفعه که کاربر اسکرول می کند، view یک مرتبه ایجاد می شود و هر بار که نیاز بود recycle و استفاده مجدد می شوند.
ساخت ریسایکلر ویو به غیر از الگوی استفاده مجدد و یا الگوی ViewHolder ، برخی بهبودهای دیگر نسبت به لیست های سابق را ارائه می دهد، مانند Layout Manager، Item Decoration، Item Animator و غیره.
ساخت ریسایکلر ویو چگونه است؟
برای ساخت و نمایش لیست ها در RecyclerView مانند ListView ابتدا باید یک قالب کلی برای نمایش یک آیتم طراحی کنیم. سپس اطلاعاتی که قصد نمایش آنها در قالب لیست داریم را یک به یک به قالب از قبل طراحی شده میفرستیم تا همگی با یک فرمت و ظاهر مشخص و یکسان نمایش داده شوند.
بنابراین در RecyclerView امکان شخصی سازی را داریم و آیتم ها از ساده ترین حالت یعنی یک text تا یک آیتم پیچیده (ترکیبی از تصویر، متن، لینک و…) قابل پیاده سازی هستند. داده ها از منابعی مانند آرایه ها،دیتابیس، سرور و… به RecyclerView منتقل و نمایش داده می شوند.
پیاده سازی RecyclerView در اپلیکیشن:
برای پیادهسازی RecyclerView در اپلیکیشن اندروید خود، مراحل زیر را دنبال کنید:
۱. ابتدا، در فایل build.gradle(Module)، کتابخانه RecyclerView را به پروژه اضافه کنید. برای این کار، کد زیر را در قسمت dependencies قرار دهید:
dependencies {
implementation ‘com.android.support:recyclerview-v7:28.0.0’
}
۲. در فایل layout ، RecyclerView را اضافه کنید. برای این کار، کد زیر را در فایل xml مربوط به layout خود قرار دهید:
<androidx.recyclerview.widget.RecyclerView
android:id=”@+id/recyclerView”
android:layout_width=”match_parent”
android:layout_height=”match_parent” />
۳. در کد اکتیویتی یا فرگمنت خود، RecyclerView را دریافت و تنظیم کنید. برای این کار، کد زیر را در اکتیویتی یا فرگمنت خود قرار دهید:
// ایجاد یک شیء از RecyclerView
RecyclerView recyclerView = findViewById(R.id.recyclerView);
// تنظیم LayoutManager برای RecyclerView
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
// تنظیم Adapter برای RecyclerView
MyAdapter adapter = new MyAdapter(dataList);
recyclerView.setAdapter(adapter);
در کد بالا، MyAdapter یک کلاس Adapter سفارشی است که باید پیادهسازی شود و dataList دادههایی است که برای نمایش در RecyclerView استفاده خواهد شد.
۴. در کلاس Adapter خود، از کلاس ViewHolder برای نگهداری و مدیریت ویوهای هر آیتم استفاده کنید. برای این کار، کلاس ViewHolder را پیادهسازی کرده و درون کلاس Adapter استفاده کنید.
۵. در کلاس Adapter، متدهایی مانند onCreateViewHolder و onBindViewHolder را برای پر کردن ویوهای هر آیتم با دادهها پیادهسازی کنید.
با انجام مراحل فوق، RecyclerView در اپلیکیشن شما پیادهسازی خواهد شد و میتوانید لیستها و دادههای خود را با استفاده از این ویجت نمایش دهید.
نتیجه گیری کلی از آموزش کامل ریسایکلر ویو :
RecyclerView یک ویجت در اندروید است که امکان نمایش لیستها و دادههای بزرگ در اپلیکیشن را فراهم میکند. این ویجت برای نمایش لیستها و دادههایی که ممکن است بسیار بزرگ باشند، بهینه شده است و برخلاف ListView، دارای پشتیبانی بهتری برای تغییرات داینامیک (مانند اضافه و حذف آیتم) است.
RecyclerView از Adapter و ViewHolder برای پیادهسازی استفاده میکند. Adapter، دادهها را به RecyclerView ارائه میدهد و ViewHolder، وظیفه نگهداری و مدیریت ویوهای هر آیتم را دارد. این ویجت اجازه میدهد تا طراحی ویوهای هر آیتم با استفاده از LayoutManagerهای مختلفی مانند LinearLayoutManager، GridLayoutManager و StaggeredGridLayoutManager تغییر کند.
استفاده از RecyclerView در اپلیکیشنهای اندروید، بهینهسازی عملکرد و سرعت نمایش دادهها را بهبود میبخشد و به توسعهدهندگان این امکان را میدهد که لیستها و دادههای بزرگ را با کنترل بهتری مدیریت کنند.
در این مطلب خواستیم مختصری از آموزش ریسایکلر ویو را در اختیارتون قرار بدیم تا صرفا با این مفهوم آشنا بشید. این بحث به اینجا ختم نمی شود و اطلاعات خیلی زیادی برای کار با RecyclerView در برنامه اندروید استودیو وجود دارد که وقتی می خواهید از آن برای برنامه نویسی اندروید استفاده کنید باید حتما بلد باشید تا بتوانید یک پروژه خوب و حرفه ای بسازید. مباحث مربوط به آموزش RecyclerView در اندروید خیلی زیاده و نمی گنجه همه رو در اینجا توضیح بدیم.
ولی در بخش سوم دوره اندروید جامع برنامه نویسی اندروید به این موضوع کامل پرداختیم:
آموزش کامل RecyclerView در دوره جامع آموزش برنامه نویسی اندروید سایت الکامکو شامل مباحث زیر و حتی بیشتر این است:
- معرفی RecyclerView
- معرفی اجزای تشکیل دهنده ریسایکلر ویو
- ساخت لی اوت سفارشی برای ریسایکلر ویو
- آموزش کارد ویو (CardView) و استفاده از آن در طراحی
- ساخت مدل
- ساخت کلاس Adapter (واسط) برای ریسایکلر ویو
- معرفی کلاس ViewHolder
- اتصال ویو ها و اطلاعات به لیست سفارشی (bind)
- استفاده از ۲ آداپتر در یک ریسایکلرویو
- استفاده از ۲ لی اوت مختلف در یک آداپتر
- آموزش کامل مفهوم پیجینگ (Paging – load more) و ساخت آن در ریسایکلرویو
- ساخت چندین پروژه مختلف با ریسایکلر ویو
- استفاده از کپسوله سازی داده ها برای ساخت کلاس مدل در ریسایکلرویو
- طراحی انواع لایه برای آیتم های ریسایکلرویو
- کد نویسی برای انواع رویداد در کلاس آداپتر
- و آموزش های خیلی زیادی از مفاهیم دیگر برای کار با ریسایکلر ویو در اندروید در این دوره برای شما گفته شده که امیدواریم بهترین استفاده رو از این آموزش ببرید و اپلیکیشن های حرفه ای بسازید و بتونید درآمدزایی خوبی هم داشته باشید.
به دنبال بهترین راه یادگیری برنامهنویسی اندروید هستید؟
دوره های مرتبط با برنامه نویسی اندروید الکامکو را به شما پیشنهاد می کنیم، به دلایل زیر ↓
- دسترسی همیشگی به فایل های دوره به علاوه پشتیبانی رایگان ۳ ماهه با قابلیت تمدید
- از آنجایی که اندروید استودیو پلتفرم اصلی گوگل برای طراحی اپلیکیشن اندروید است، آموزش ها در راستای آموزش android studio پیاده سازی شده است.
- این پکیج ها همواره در حال آپدیت هستند و جدیدترین نسخه از فیلم های آموزش برنامه نویسی مرتبط با دوره ها در پنل شما در سایت الکامکو قرار می گیرد.
- آموزش ها به صورت پروژه محور هستند و از هر گونه گزافه گویی خودداری شده است و نیاز به پیش نیاز برنامه نویسی اندروید هم نیست.
- محتوای این پکیج ها از کیفیت بالای تصاویر و صدا برخوردارند.
- از طریق راه های ارتباطی و پشتیبانی ۲۴ ساعته می توانید با ما در ارتباط باشید.
- چند جلسه از فیلم های آموزشی هر دوره به صورت رایگان برای دانلود در دسترس شما قرار دارد که ابتدا از کیفیت کار مطمئن شوید سپس پکیج ها را خریداری نمایید.
- سر فصل های دوره بر اساس سیلابس درسی گوگل طبقه بندی شده اند.
- خیلی از مواردی که سایر آموزشگاه ها به صورت جداگانه می فروشند ما همه را در همین دوره ها به صورت پکیجی برای شما جمع آوری کردیم.
- انجام انواع تمرین ها و پروژه ها در طول دوره ها، ورود آسان شما به بازار کار برنامه نویسی اندروید را فراهم می کنند.
- سورس کد تمامی پروژه های انجام شده در اختیاز شما قرار می گیرد.
- بعد از خرید هر دوره می توانید فورا به دوره ها دسترسی داشته باشید.
بخش های دوره آموزش طراحی برنامه اندروید با جاوا در اندروید استودیو
- بخش اول : مقدمه . آموزش جاوا
- بخش دوم : مفاهیم مقدماتی
- بخش سوم : آموزش کامل ریسایکر ویو (RecyclerView)
- بخش چهارم : مفاهیم کاربردی (قسمت اول)
- بخش پنجم : کار با دیتابیس و انواع فایل و ذخیره سازی در اندروید
- بخش ششم : مفاهیم کاربردی (قسمت دوم)
- بخش هفتم : آموزش کامل PHP
- بخش هشتم : آموزش HTML – CSS – Bootstrap
- بخش نهم : آموزش کامل کار با سرور در اندروید استودیو
- بخش دهم: مفاهیم تکمیلی
- بخش یازدهم : آموزش کامل کار با نقشه
- بخش دوازدهم : پروژه نهایی
- سرفصل های اندروید بصوت کامل
همچنین ببینید» همه دوره های برنامه نویسی اندروید مطابق با آموزش جاوا با اندروید استودیو در راستای ساخت اپ های اندرویدی
مقدمه و معرفی دوره کاتلین
- آشنایی با زبان کاتلین
- قوانین و مفاهیم پایه برای یادگیری زبان کاتلین
- مقایسه جاوا و کاتلین
- آموزش نصب اندروید استودیو
- آموزش اندروید استودیو و شروع کار با آن
- آشنایی اولیه با سیستم عامل Android
- بررسی ایمولیتور (شبیه ساز) و انواع آن
- ساخت ایمولیتور در اندروید استودیو
- شناخت ابزارهای برنامه نویسی Android
- انتخاب ابزار مناسب برنامه نویسی اندروید
- آشنایی با معماری سیستم عامل Android
- آموزش نصب نرم افزار های مورد نیاز جهت برنامه نویسی Android
- شروع طراحی در اندروید استودیو
- اجرای برنامه در شبیه ساز
- آموزش مفاهیم شی گرایی در برنامه نویسی (Object Oriented Programming)
- آموزش کامل برنامه نویسی با زبان کاتلین (kotlin)
- برای مشاهده ادامه سرفصلها روی دوره کلیک کنید
همچنین بخوانید » سایر ثبت نام دوره های کاتلین | لیست کتاب های آموزش زبان Kotlin | kotlin یا flutter | فرق کاتلین با جاوا
پکیج آموزش برنامه نویسی اندروید شامل دوره های جاوا و کاتلین می باشد. همچنین دارای ۷ دوره حرفه ای دیگر برای تبدیل شدن به یک متخصص اندروید کامل می باشد.
بخش های مختلف دوره جامع متخصص اندروید
- بخش اول : آموزش برنامه نویسی اندروید با جاوا
- بخش دوم : آموزش حرفه ای طراحی UI/UX در اندروید
- بخش سوم : آموزش زبان برنامه نویسی کاتلین از صفر تا صد و پروژه محور
- بخش چهارم : اندروید پلاس (آموزش مفاهیم ضروری در اندروید)
- بخش پنجم : آموزش جامع معماری MVP در اندروید با ساخت پروژه اپلیکیشن خبری فول امکانات
- بخش ششم : آموزش جامع معماری MVVM در اندروید با چندین پروژه حرفه ای
- بخش هفتم : آموزش ساخت بازی در اندروید استودیو
- بخش هشتم : آموزش پرداخت درون برنامه کافه بازار
- بخش نهم : آموزش ساخت اپلیکیشن فروشگاهی فول امکانات
بخش های دوره فلاتر
- بخش اول : آموزش برنامه نویسی به زبان Dart
- بخش دوم : آموزش UI/UX – رابط کاربری و تجربه کاربری در فریم ورک فلاتر
- بخش سوم : مفاهیم کاربردی
- بخش چهارم : پیش نیاز بخش سرور
- بخش پنجم : آموزش کامل کار با سرور
- بخش ششم : مفاهیم پیشرفته
- بخش هفتم : مفاهیم تکمیلی
- بخش هشتم : طراحی و ساخت وبسایت فروشگاهی
- بخش نهم : طراحی و ساخت اپلیکیشن فروشگاهی
همچنین بخوانید » همه دوره های فلاتر | تفاوت React Native و Flutter | آینده Flutter چگونه است؟ | لیست کتاب های اموزش flutter | فیلم های آموزش Flutter رایگان | نصب فلاتر | اموزش زبان برنامه نویسی دارت
مقالات مرتبط با آموزش برنامه نویسی اندروید:
- زبان برنامه نویسی جاوا چیست و چه کاربردی دارد؟
- روش های کسب درآمد از برنامه نویسی اندروید
- دانلود فیلم های آموزش برنامه نویسی اندروید رایگان به زبان فارسی
- چگونه با گوشی برنامه نویسی کنیم؟ معرفی اپلیکیشن ها و ابزارها + لینک دانلود
- کدام زبان اندروید بعنوان جدیدترین، بهترین و قوی ترین زبان برنامه نویسی اندروید است؟
- معرفی بهترین کتابخانه های اندروید استودیو که یک برنامه نویس باید بداند! + لینک دانلود
- آموزش و سورس ساخت کوییز آنلاین در اندروید استودیو مرحله به مرحله
- دانلود جدیدترین نسخه برنامه اندروید استودیو برای ویندوز، مک و لینوکس
- آموزش ساخت اپلیکیشن خرید اینترنتی اندروید همراه با source پروژه
- ایده های جالب برای ساخت اپلیکیشن اندروید یا iOS برای راه اندازی یک کسب و کار نو
توی دوره صفر تا صدتون آموزش کامل ریسایکلر ویو رو دارید؟
بله . آموزش کامل ریسایکلر وجود دارد
من تازه دارم برنامه نویسی اندروید یاد میگیرم سر این موضوع ریسایکلر ویو اندروید استودیو خیلی گیرم. زیاده حجمش