آموزش پارس Json + قرار دادن در RecyclerView

امتیاز 5.00 ( 1 رای )

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش پارس Json + قرار دادن در RecyclerView می پردازیم منظور از پارس (parse) تجزیه است. در ادامه خواهید دید که به چه شکل زیبای نمایش داده خواهد شد (سعی کردیم شبیه به بخش فروشگاه دیجی کالا باشد) در این آموزش از کتاب خانه قدرتمند Retrofit برای بخش پارس json استفاده می کنیم در ادامه می توانید پیش نمایشی از آن را مشاهده کنید با ما همراه باشید..

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

  • Android Retrofit
  • GSON Converter
  • RecyclerView
  • CardView
  • Universal Image Loader

در ابتدای کار باید وارد فایل Build.gradle از نوع module شده و در بخش dependencies خط های زیر را اضافه کنید.

سپس پروژه را sync کنید کمی بیشتر از حد معمول طول می کشد چون تعداد کتاب خانه ها زیاد است . علت خطاهای احتمالی گریدل را قبلا بررسی کرده ایم در سایت واژه “gradle” را جستجو کنید.
بعد از sync شدن پروژه وارد فایل AndroidManifest.xml شده و دسترسی زیر را اضافه کنید.

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

همانطور که مشاهده می کنید یک RecyclerView در layout اصلی قرار داده ایم.
حالا باید یک فایل به نام list.xml ایجاد کرده و کدهای زیر را در آن قرار دهید.

شاید بپرسید این کدام بخش از کار است . کد بالا در RecyclerView ما render یا بارگذاری می شود که شامل CardView  و عکس ها و Text ها می شود .
حلا باید یک InterFace به نام ApiService.java با annotation (تفسیر) “@GET” برای دریافت Response ایجاد کرده همانند زیر

در بالا /api/product.php بخشی از مسیر json ما است. نباید در آن http قرار دهید.
مسیر فایل json در هاست ما

حالا باید getter و setter خودمان را ایجاد کنیم پس یک فایل به نام  Product.java ایجاد کرده و کدهای زیر را در آن قرار دهید.

زمان آن رسیده که آداپتور مربوط به RecyclerView ایجاد کنیم پس یک فایل به نام  Recycleradapter.java ایجاد کرده و کدهای زیر را در آن قرار دهید.

 
قبلا هم چندین بار این کلاس را توضیح داده بودیم ولی یک اشاره کوچک به آن خواهیم کرد ابتدا layout که درست کردیم اگر یادتان باشد اسم آن برابر با list بود باید آن را Inflate کنیم بعد از آن زمان آن است که مقدار های را در Textview ها قرار دهیم فقط TexTview نیست ImageView و بیقه اجزا نیز هستند باید تعداد card های که می خواهند درآنها TextView و Image View و.. قرار بگیرد به دست بیاید.
و در آخر باید کد زیر را در MainActivity.java قرار دهید.

برای اینکه به شکل دوتایی بقل هم نمایش پیدا کنند از LayoutManager استفاده شده است همانطور که در ابتدای کد دید از Retrofit برای دریافت json استفاده شده است و در قبل هم اشاره کرده که ادرس json باید به صورت  خاص به retrofit داده یا feed شود برای اینکه دوتای به صورت دقیق در کنار هم قرار گیرند ما اندازه صفحه به pixel به دست آوردیم سپس از فاصله هر ستون کم کردیم و در آخر آن را قرار داده ایم.
 
 
این آموزش هم به پایان رسید.
 
موفق و موید باشید.
 
 

مطالعه بیشتر