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

سلام دوستان امیدوارم سلامت باشید در این سری از آموزش برنامه نویسی اندروید به آموزش کتابخانه Gson در برنامه نویسی اندروید می پردازیم شاید دیده باشید از کتابخانه gson در آموزش های قبلی استفاده شده است در ادامه یک نمونه ساده آن را با کتابخانه volley به کارخواهیم برد با ما همراه باشید.
 
در این آموزش یک وب سرویس کوچک ساختیم تا داده ها را به شکل خاصی برای ما در خروجی تحویل دهد (یک json array است).
ابتدا باید یک فایل به نام song_json.php در سرور یا xampp ایجاد کنید و کدهای زیر را در آن قرار دهید.

در بالا ما با استفاده از کد php یک json array ساختیم و نتیجه آن همانند زیر خواهد شد.

بخش php به پایان رسید.
حالا باید یک پروژه اندروید بسازید بعد از اینکه ساختید فایل Build.gradle را باز کنید و کتاب خانه های زیر را اضافه کنید.

پروژه را sync کنید.
وارد فایل AndroidManifest.xml شده و دسترسی زیر را اضافه کنید.

در فایل activity_main.xml کدهای زیر را قرار دهید.

یک فایل در همان پوشه به نام list_item.xml ایجاد کنید و کدهای زیر را در آن قرار دهید.

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

در بالا از annotation یا  حاشیه نویسی SerializedName به منظور سریال کردن استفاده می شود اگر json را مشاهده کنید میبینید که ما key هایی به نام song_name , song_id و artist_name داریم که در بالا آن ها سریال می کنیم.
یک آداپتور ساده داریم که ورودی آن یک لیست از model که ساختیم دارد و یک context همانند زیر

کد بالا در زمانی استفاده می شود که json از سمت سرور parse شده است سپس می خواهیم داده ها را در recyclerview اضافه کنیم پس باید یک لیستی از داده هایی که توسط json به درست آورده ایم درست کرده و به این اداپتور پاس بدهیم در بالا از LayoutInflater به منظور به دست آوردن view که در ابتدا ساختیم (list_item.xml) استفاده شده است (دقت کنید این بخش هر دفعه یک آیتم اضافه می کند. پس هر دفعه یک list_item در recyclerview ما new می شود)
در نهایت در بخش MainActivity.java کدهای زیر را قرار دهید.

ما یک void داریم به نام requestJsonObject که در آن از volley و gson استفاده شده است برای اینکه از gson استفاده کنیم ابتدا یک GsonBuilder ایجاد کردیم (یک instance ازش ساختیم) سپس یک لیست از ItemObject ایجاد کردیم و با استفاده از متود Arrays یک آرایه از مقدار دریافتی (response) ساختیم (یعنی ما مقدار دریافتی که در بالا نام آن response است را به gsonbuilder فرستادیم و بقیه کار به آن می سپاریم ! دید که اصلا پارس انجام ندادیم ) و gson خودش تشخیض میدهد که این باید به صورت jsonobject یا jsonaarray پارس شود.
 
 
این آموزش هم به پایان رسید.
 
موفق و پیروز باشید.

مطالعه بیشتر