آموزش ساخت listview سفارشی با عکس و متن با استفاده از کتاب خانه volley

سلام ! با آموزش ساخت listview سفارشی با عکس و متن با استفاده از کتاب خانه volley در خدمتتون هستیم بهتر  است ابتدا ماحصل نهایی رو ببینید !

ما از این فایل json نمونه برای لود کردن دیتا استفاده می کنیم شماهم می توانید از همان استفاده کنید.
نمونه فایل json شبیه زیر می باشد.

فایل بالا شامل یک ارایه ای است که درون هر کدام از آنها یکسری خاصیت مشترک به نام های title , image , rating , releaseyaer و genre هست.
دومین کاری که باید بکنید کتاب خانه زیر را از همین جا دانلود کنید یا خط زیر را در بخش gradle قرار دهید.
لینک دانلود volley  و یک نکته بگم شما کل اینترنت رو بگردید نمی توانید کتاب خانه volley را به صورت فایل java پیدا کنید و یعد از دانلود آن را در پوشه libs قرار دهید برای این کار می توانید از عکس زیر کمک بگیرید.

در صورتی که می خواهید از بخش gradle آن را اضافه کنید کافی است در بخش build.geadle خط زیر را اضافه کرده و سپس sync را بزنید ما قبلا دلایل sync نشدن را گفته ایم کافی است در سایت سرچ کنید.


شکل کلی هر کدام همانند بالا می شود و هر بخش یک فاصله دارد به کلی می توان گفت متریال دیزان درآن پیاده سازی شده است.
حالا یک پروژه ایجاد کرده و تغییرات زیر را اعمال کنید.
فایل colors.xml را باز کرده کد های زیر را به آن اضافه کنید.

فایل  dimens.xml را باز کرده / یا ایجاد کرده کد های زیر را در آن قرار دهید.

قبل از اینکه بخش کد java رو شروع کنیم دوست دارم بخش Ui رو تکمیل کنیم حال زمان آن رسیده بخش Ui رو ایجاد کنیم نه بخش اصلی بلکه بخش مربطو به listview را
دقت کنید فایل هایی رو که درحال ایجاد کردن آن هستید باید در بخش res ⇒ drawable  باشد.
یک فایل به نام list_row_bg.xml  ایجاد کنید کد زیر را که برای ایجاد یک رنگ کم رنگ است در آن قرار دهید.

یک فایل به نام list_row_bg_hover.xml  ایجاد کنید کد زیر را که برای ایجاد یک رنگ برای هر کلیک از لیست است را در زیر  قرار دهید.

و حال زمان استفاده از آن دو فایلی است که در بالا آنها را تعریف کردیم. یک فایل به نام list_row_selector.xml ایجاد کنید و کد های زیر را در آن قرار دهید.

حالا بخش activity_main.xml را باز کرده کد مربوط به ایجاد لیست را در آن قرار دهید.

و ما برای اینکه عکس متن و… مربوط به لیست را نمایش دهیم یک فایل جداگانه ایجاد کرده سپس این موارد را در آن پیاده سازی می کنیم.نام فایل ما list_row.xml می باشد.
 

حال یک فولدر به نام util در بخش java ایجاد کرده سپس یه فایل به نام LruBitmapCache.java این کلاس عکس ها را در گوشی کاربر کش ( cache ) می می کند. package name ذکر نشده است ! دقن کنید.

یک کلاس جاوا به نام AppController.java ایجاد کرده این کلاس یک singleton است و هسته اصلی از object های کتاب خانه volley را به اصلاح بازآغازسازی می کند ( به زبان ساده اجرا می کند)
 

حال باید این کلاس تعریف شده را در بخش androidmanifest برای execute شدن قرار دهیم به شکل زیر می شود.

فایل androidmanifest.xml به شکل زیر می شود. یادتان نرود ما دسترسی اینترنت را اضافه کرده ایم اگر اضافه نشود برنامه force close می دهد.

حالا یه فولدر به نام model در بخش جاوا درست کرده و یک کلاس درون آن فولدر به نام Movie.java ایجاد کنید و کد های زیر را در آن قرار دهید.

حالا باید یک کلاس سفارشی برای feed کردن دیتا به فایل layout_row.xml ایجاد کنیم نام کلاس ما CustomListAdapter.java هست بعد از ایجاد کردن آن کد های زیر را در آن قرار دهید.

حال بخش MainActivity را باز کرده و کد های مورد نیاز را اضافه کنید.

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

مطالعه بیشتر