ریسایکلر ویو چیست؟ ساخت RecyclerView در اندروید چگونه است؟ فرق ریسایکلر ویو و لیست ویو چیست؟ برای آموزش کار با RecyclerView در اندروید استودیو این مطلب از مقاله الکامکو را تا آخر بخوانید تا با آن آشنا شوید.

ریسایکلر ویو چیست؟

برای جواب دادن به این سوال که RecyclerView چیست باید بگیم که وقتی می خواهید برنامه نویسی اندروید انجام بدید برای اینکه فضای صفحه نمایش گوشی کوچیک است و ظرفیت محدودی دارد نمی توانیم همه چیز را درون صفحه قرار دهیم و بگنجانیم. بخاطر همین از مفهومی بنام لیست استفاده می کنیم. ولی وقتی آیتم های زیادی داریم و یا نیاز داریم تا محتوای این لیست همش تغییر کند استفاده از لیست باعث می شود اپلیکیشنی که داریم می سازیم کند کار کند. برای حل این مشکل از مفهومی به نام ریساکلر ویو در ساخت برنامه اندروید استفاده می کنیم.

معنی ریسایکلر (Recycler) یعنی بازیافت! و این یعنی یک با اینکار یک لیست قابل بازیافت خواهیم داشت.

مفهوم لیست (List) برای درک آموزش ریسایکلر ویو در اندروید: 

اپلیکیشن تلگرام رو که باز می کنید یک لیست از چت هایی که دارید باز می شود یا مثلا اپلیکیشنی که باهاش موسیقی گوش میدید دارای بیستی از آهنگ ها هست. حتی صفحه خانه (Home Screen) گوشی یا تبلت هوشمند شما هم در برنامه نویسی اندروید یک لیست (List) محسوب می شود. لیست ها راحت ترین راه نمایش داده روی ابزار ها با صفحه نمایش کوچک (همانند گوشی هوشمند) محسوب می شوند. پس داده های بسیار زیاد را می توانند روی یک صفحه کوچک به نمایش بگذارند.

در حالی که لیست ها در نمایش یک سری از داده هایی که مشابه به نظر می رسند عالی هستند، ممکن است که در مصرف منابع خیلی خوب نباشند. زیرا می بینید که یه لیست هر بار که اسکرول میخوره نیاز به ایجاد یک view جدیدتر هست و ایجاد view جدید یک عمل سنگین و گران (از لحاظ مصرف منابع) می باشد. یک لیست سنگین به این معنی است که برنامه مورد نظر در مصرف منابع سیستمی نیز گرسنه تر است. این مسئله در اندروید قبل از اینکه RecyclerView معرفی بشه برای سالیان سال مشکل به حساب می آمد.

نمونه ای از ساخت ریسایکلر ویو در اندروید

از نمونه های کاربردی در ساخت ریسایکلر ویو در اندروید می توان به پیام رسان هایی مثل واتساپ، لیست مخاطبین تلفن همراه، لیست ایمیل‌ها و خلاصه هر چیزی که در گوشی لیستی نمایش داده می شود اشاره کرد.

آموزش ساخت ریسایکلر ویو - اموزش برنامه نویسی اندروید الکامکو

همچنین بخوانید: استفاده از برنامه ساز اندروید یا برنامه نویسی اندروید؟

همچنین بخوانید: فعالیت در اندروید چیست و چگونه ایجاد می شود؟ 

ریسایکلر ویو اندروید (RecyclerView) چه فرقی با لیست ویو (ListView) در اندروید دارد؟

ریسایکلر ویو اندروید مانند لیست ویو کار می کند، یک مجموعه داده را روی صفحه نمایش نشان داده اما از رویکردی متفاوت برای رسیده به هدفش استفاده می کند که در ادامه به انها می پردازیم:

  1. ریسایکلر ویو و لیست ویو خیلی شبیه هم هستند ولی در واقع RecyclerView، نسخه پیشرفته تر و انعطاف پذیرتری از ListView محسوب می شود.
  2. کار کردن با ریسایکلر ویو خیلی راحت تر و بهینه تر است.
  3. در کد نویسی اندروید زمانی که داده شما بسیار سنگین باشد ریسایکلر ویو پرسرعت تر از لیست ویو است.
  4. از بهترین ویژگی های RecyclerView در لود داده بالا و همینطور اسکرول فوق العاده روان است البته به صورت پیشفرض این Scroll فعال نیست و باید فعال شود به صورت پیشفرض SDK خود اندروید RecyclerView را ندارد و باید مثل کتاب خانه به پروژه اضافه شود.
  5. لیست ویو (List View) به ازای همه ی آیتم ها یک View می سازد ولی ریسایکلر ویو (RecyclerView) اینطوری نیست و به ازای همان تعداد که در قاب گوشی جای می گیرد برای آیتم های ما View می سازد. و وقتیکه که ما صفحه ی گوشی را اسکرول می کنیم اون آیتمی که از سمت بالا از گوشی خارج می شود سریع به قسمت پایین می آید و این تغیر خیلی سریع اتفاق می افتد به قدری که ما متوجه این کار نمی شویم.
  6. در RecyclerView بر خلاف ListView تعداد View ایی که برای لیستمون می سازیم خیلی کمتر است یعنی به اندازه قاب گوشیم است و این نیز دلیل بر بهینه بودن آن می باشد.
  7. مطمئنا، ListView نیز می تواند دارای ViewHolder باشد، اما این به صورت پیش فرض امکان پذیر نمی باشد و ما را مجبور می کند که کد بیشتری را برای بهبود کارایی لیست استفاده کنیم.
    از سوی دیگر، ViewHolder ها قسمت مهمی از کل معماری RecyclerView می باشد، به این معنی که سیستم شما را مجبور می کند برای هر layout ای که ممکن است به کار بگیرید، یک ViewHolder داشته باشید. معماری سپس از این ViewHolder ها جهت ساخت کپی View از layout ای که میخواهد استفاده شود، استفاده می کند و به جای ایجاد مجدد آنها، از view های کش (cached) شده استفاده می کند و آنها را با داده های جدید bind می کند.

با نگاه کردن به عکس پایین تفاوت ریسایکلر ویو و لیست ویو رو بهتر درک می کنید:

فرق لیست ویو و ریسایکلر ویو اندروید استودیو - آموزش برنامه نویسی اندروید الکامکو

همچنین بخوانید: Java با JavaScript فرق می کند! 

همچنین بخوانید: انواع نسخه های جاوا، اخرین نسخه زبان جاوا، فهمیدن ورژن جاوا، کدام نسخه جاوا بهتر است؟

مزایای RecyclerView در اندروید چیست؟

  1. در RecyclerView اندروید تنها آیتم‌های قابل نمایش در صفحه، و چند آیتم یدکی دیگر bind می‌شوند، این یعنی علاوه بر اینکه همواره کارایی برنامه حفظ می‌شود، همواره تعدادی از آیتم ها برای نمایش آماده اند.
  2. در RecyclerView اندروید آیتم هایی که قبلا اسکرول شده و از صفحه خارج شده اند، ذخیره می‌شوند تا به محض نیاز، دوباره نمایش داده شوند. از طرف دیگر اگر همینطور به اسکرول در یک جهت ادامه دهید، هولدر هایی که خیلی عقب هستند، دوباره برای نمایش آیتم های جدید مورد استفاده قرار می‌گیرند، بدون اینکه حافظه‌ی اضافی اشغال شود.
  3. در RecyclerView اندروید وقتی که آیتم‌ها تغییر کنند، می‌توان با اطلاع رسانی به adapter و فراخوانی تابع notifyItemChanged باعث شد تا کدهای داخلی آداپتور تنها آیتم‌های تحت تأثیر را آپدیت کند.
  4. در RecyclerView اندروید امکان پیاده سازی انیمیشن برای زیباتر شدن نحوه اضافه و یا حذف شدن آیتم ها فراهم شده است.

نگاهی به ساخت RecyclerView در اندرویداز نظر گوگل: 

گوگل مفهوم ساخت ریسایکلر ویو را در کنار CardView و Design Support Library در سال 2014 با عرضه اندروید Lollipop منتشر کرد. ایده پشت RecyclerView ساده است، به جای ساخت و ایجاد View برای هر دفعه که کاربر اسکرول می کند، view یک مرتبه ایجاد می شود و هر بار که نیاز بود recycle و استفاده مجدد می شوند.

ساخت ریسایکلر ویو به غیر از الگوی استفاده مجدد و یا الگوی ViewHolder ، برخی بهبودهای دیگر نسبت به لیست های سابق را ارائه می دهد، مانند Layout Manager، Item Decoration، Item Animator و غیره.

ساخت ریسایکلر ویو چگونه است؟ 

برای ساخت و نمایش لیست ها در RecyclerView مانند ListView ابتدا باید یک قالب کلی برای نمایش یک آیتم طراحی کنیم. سپس اطلاعاتی که قصد نمایش آنها در قالب لیست داریم را یک به یک به قالب از قبل طراحی شده می‌فرستیم تا همگی با یک فرمت و ظاهر مشخص و یکسان نمایش داده شوند.

بنابراین در RecyclerView امکان شخصی سازی را داریم و آیتم ها از ساده ترین حالت یعنی یک text تا یک آیتم پیچیده (ترکیبی از تصویر، متن، لینک و…) قابل پیاده سازی هستند. داده ها از منابعی مانند آرایه ها،دیتابیس، سرور و… به RecyclerView منتقل و نمایش داده می شوند.

نتیجه گیری کلی از آموزش کامل ریسایکلر ویو : 

در این مطلب خواستیم مختصری از آموزش ریسایکلر ویو را در اختیارتون قرار بدیم تا صرفا با این مفهوم آشنا بشید. این بحث به اینجا ختم نمی شود و اطلاعات خیلی زیادی برای کار با RecyclerView در اندروید استودیو وجود دارد که وقتی می خواهید از آن برای برنامه نویسی اندروید استفاده کنید باید حتما بلد باشید تا بتوانید یک پروژه خوب و حرفه ای بسازید. مباحث مربوط به آموزش RecyclerView در اندروید خیلی زیاده و نمی گنجه همه رو در اینجا توضیح بدیم.

ولی در بخش سوم دوره اندروید جامع برنامه نویسی اندروید به این موضوع کامل پرداختیم: 

آموزش کامل RecyclerView در دوره جامع آموزش برنامه نویسی اندروید سایت الکامکو شامل مباحث زیر و حتی بیشتر این است: 

  • معرفی RecyclerView
  • معرفی اجزای تشکیل دهنده ریسایکلر ویو
  • ساخت لی اوت سفارشی برای ریسایکلر ویو
  • آموزش کارد ویو (CardView) و استفاده از آن در طراحی
  • ساخت مدل
  • ساخت کلاس Adapter (واسط) برای ریسایکلر ویو
  • معرفی کلاس ViewHolder
  • اتصال ویو ها و اطلاعات به لیست سفارشی (bind)
  • استفاده از 2 آداپتر در یک ریسایکلرویو
  • استفاده از 2 لی اوت مختلف در یک آداپتر
  • آموزش کامل مفهوم پیجینگ (Paging – load more) و ساخت آن در ریسایکلرویو
  • ساخت چندین پروژه مختلف با ریسایکلر ویو
  • استفاده از کپسوله سازی داده ها برای ساخت کلاس مدل در ریسایکلرویو
  • طراحی انواع لایه برای آیتم های ریسایکلرویو
  • کد نویسی برای انواع رویداد در کلاس آداپتر
  • و آموزش های خیلی زیادی از مفاهیم دیگر برای کار با ریسایکلر ویو در اندروید در این دوره برای شما گفته شده که امیدواریم بهترین استفاده رو از این آموزش ببرید و اپلیکیشن های حرفه ای بسازید و بتونید درآمدزایی خوبی هم داشته باشید.

چطوری می تونم این دوره آموزش برنامه نویسی اندروید رو بخرم؟ 

این دوره نیاز به پیش نیاز ندارد. تمامی مفاهیم از صفر تا صد یعنی از سطح مبتدی تا پیشرفته به شما آموزش داده می شود.

آموزش اندروید استودیو - آموزش android studio - آموزش برنامه نویسی اندروید الکامکو - ساخت اپلیکیشن اندروید

همه دوره های آموزشی الکامکو | همه دوره های برنامه نویسی جاوا اندروید


مقالات مرتبط با آموزش برنامه نویسی اندروید:

دوره های مرتبط با آموزش های برنامه نویسی اندروید:

  1. دوره آموزش ساخت اپلیکیشن فیلیمو و نماوا و مشابه 
  2. دوره جامع آموزش رابط کاربری در برنامه نویسی اندروید
  3. دوره آموزش ساخت اپلیکیشن فروشگاهی اندروید

نظر و تجربه شما درباره ریسایکلر ویو چیست؟ چه موارد دیگری درباره مقایسه RecyclerView و ListView هست که اینجا گفته نشده؟ لطفا تجربیات خودتان را در این زمینه حتما توی کامنت برای ما بنویسید. منتظر نظرات، پیشنهادات و سوالات شما در همین صفحه از سایت آموزش طراحی اپلیکیشن اندروید الکامکو هستیم 🙂

3 دیدگاه
بازخورد درون خطی
مشاهده همه نظرات
امیر محمد
24 روز گذشته

توی دوره صفر تا صدتون آموزش کامل ریسایکلر ویو رو دارید؟

نیما برزگر
پاسخ دادن به  امیر محمد
23 روز گذشته

بله . آموزش کامل ریسایکلر وجود دارد

مانی شریفی
24 روز گذشته

من تازه دارم برنامه نویسی اندروید یاد میگیرم سر این موضوع ریسایکلر ویو اندروید استودیو خیلی گیرم. زیاده حجمش

فهرست