آموزش استفاده از Retrofit در اندروید

کتابخانه Retrofit چیست ؟

خیلی کوتاه و مختصر بخوام توضیح بدم ، با استفاده از کتابخانه رتروفیت میتونید اطلاعاتی که از سرور به صورت json یا هرچیزه دیگری دریافت کنید رو بگیرید .

شاید اکثر برنامه نویس ها از کتابخانه والی یا Volley استفاده میکنند … اما کتابخانه رتروفیت برای بهتر و ساده تر شدن کدنویسی شما ساخته شده است .

البته نکته ی مهمی که شاید خیلی از افراد در نظر نگیرند این باشه که پیشنهاد میکنم افرادی که تازه میخوان برنامه نویسی اندروید رو یاد بگیرند ، حتما اول از کتابخانه والی استفاده کنند تا حداقل در مورد دریافت اطلاعات به صورت Json اطلاعاتی کسب کنند ، زیرا کتابخانه Retrofit به نظرم برای افرادی خوبه که از قبل در مورد جیسون اطلاعات داشته اند .


و اما آموزش استفاده از کتابخانه Retrofit

  • برای استفاده اول کتابخانه های زیر را به Gradle پروژتون اضافه کنید

  • ما در نظر داریم اطلاعات User هایی که که در سرور هستند رو بگیریم که داری فیلدهای Id و Name و Family هستند .
  • برای شروع یک مدل به نام Users به شکل زیر میسازیم

همانطور که مشاهده میکنید بالای هر متغیر [email protected] نوشته شده است .
اگر با والی یا کتابخانه هایی که قبل از رتروفیت ساخته شده اند کار کرده باشید ، متوجه میشدید که زمانی که میخواهید اطلاعات رو از جیسون بگیرید ، باید نام متغیر جیسون مورد نظر رو مینوشتید و مدلی که ساختید set یا تنظیم میکردید .

وظیفه ی [email protected] دقیقا همین است . یعنی نام متغیرهای جیسون ما برای مثال ID و NAME و FAMILY میباشد .

  • حالا میریم سراغ ساخت APIService هایی که توسط برنامه نویس وب به ما داده شده است ، که به شکل زیر طراحی میکنیم

خب ، فکر میکنم با کامنت گذاری که کردم ، نیازی به توضیح نباشه .

شما با استفاده از [email protected] یا [email protected] یا [email protected] میتونید سرویسهای مخصوص به اپلیکیشن خودتون رو بسازید .

  • حالا باید یک کلاسی به نام RetrofitBuilder به شکل زیر بسازیم تا بتونیم APIService فوق رو صدا بزنیم.

خب همانطور که مشاهده میکنید اول ما okHttpClient ساختیم برای TimeOut ! یعنی مثلا میخواهیم سرویسی که ساختیم ۳۰ ثانیه تلاش کنه وصل بشه ، و اگر بعد از ۳۰ ثانیه نتونست متصل بشه ارور برای ما ارسال کنه .

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

نکته : بخش Builder با استفاده از دیزاین پترن Builder ساخته شده است که میتونید آموزش این الگوی طراحی رو از همین سایت مشاهده کنید .

  • همانطور که در سورس فوق مشاهده کردید تابعی به نام getApiService ساخته شده است که کلاس رابط APIService رو که ساخته ایم برای ما برگشت میزند . برای فهمیدن بیشتر لطفا یک بار دیگر به تابع زیر نگاه کنید .

اصل کار ما با استفاده از تابع فوق است که برای ساخته شدن ApiService ها ، تابع فوق رو صدا میزنیم

  • بنابراین به صورت زیر از تابع فوق استفاده میکنیم .

اگر با توضیحات بالا که خیلی خلاصه شده بود متوجه نشده اید ، حتما تمرین کنید …

برای دانلود سورس کد لطفا کلیک کنید