کتابخانه Retrofit رتروفیت چیست و نحوه کار با آن چگونه است؟

معرفی کتابخانه رتروفیت (Retrofit)

رتروفیت چیست؟ 

رتروفیت (Retrofit) کتابخانه ای بسیار قدرتمند جهت اتصال به سرور و ارتباط با API سمت سرور است در واقع یک نوع سرویس امن REST برای اندروید و جاوا است که هدف آن سهولت مصرف خدمات وب RESTful است. رتروفیت به طور خودکار پاسخ JSON را با استفاده از (POJO (Plain Old Java Object سریال می کند که برای ساختار JSON باید به صورت پیشرفته تعریف شود. رتروفیت توسط شرکت Square پشتیبانی می‌شود و مورد تایید گوگل است . در این مقاله ی الکامکو با یک مثال ساده و کاربردی با مفاهیم این کتابخانه بیشتر اشنا می شوید.

معرفی کتابخانه retrofit رتروفیت

معرفی کتابخانه رتروفیت (Retrofit) :

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

پیاده سازی قابلیت ارتباط بین سرور و اپلیکیشن به روش دستی و نوشتن کامل کدها بسیار پیچیده و زمان‌گیر بوده و همواره باید پارامترهای متعددی مانند ساخت کانکشن برای اتصال ، ارسال دوباره درخواست‌های ناموفق ، تردها (Thread)، ارورها، Parse کردن پاسخ و… را خودمان مدیریت کنیم. بنابراین بهتر است سراغ کتابخانه‌هایی برویم که توسط شرکت‌های معتبر منتشر و پشتیبانی می‌شوند. کتابخانه Retrofit یکی از معروف ترین این کتابخانه ها می باشد.

به واسطه Retrofit ، یک ارتباط امن از نوع HTTP بین سرور و کلاینت (اپلیکیشن) برقرار می‌شود ، یعنی از رتروفیت برای اتصال به وب سرویس از طریق HTTP Connection استفاده می گردد.

کتابخانه والی (Volley) به عنوان رقیب اصلی Retrofit توسط گوگل پشتیبانی می‌شود. هم اکنون Retrofit به دلیل مزیت هایی که نسبت به Volley دارد در بین برنامه نویسان اندروید محبوبیت بیشتری دارد . نسخه ۲ کتابخانه Retrofit ، نسبت به نسخه ۱ تغییرات گسترده ای داشته که علاوه بر استفاده راحت تر ، نسبت به ورژن ۱ ، امکانات بیشتری نیز در اختیار شما قرار می‌دهد .

کار با کتابخانه رتروفیت (Retrofit) :

برای کار با Retrofit در اصل به سه کلاس زیر نیاز دارید:

  1. کلاس مدل که به عنوان یک مدل JSON استفاده می شود .
  2. رابط هایی که عملیات HTTP را تعریف می کنند .
  3. Retrofit.Builder class : نمونه ای که از رابط و API Builder استفاده می کند تا بتواند نقطه پایان URL را برای عملیات HTTP تعریف کند .

هر روش واسط یک تماس API ممکن را نشان می دهد . برای مشخص کردن نوع درخواست و URL نسبی باید حاوی HTTP (GET ، POST و غیره) باشد. مقدار بازگشت پاسخ را در یک شی تماس با نوع نتیجه مورد نظر پیچیده می کند.

@GET("users")
Call<List<User>> getUsers();

برای تنظیم URL می توانید از بلوک های جایگزین و پارامترهای پرس و جو استفاده کنید. یک بلوک جایگزین با relative to به URL نسبی اضافه شده است. با کمک Path در پارامتر متد ، مقدار آن پارامتر به بلوک جایگزینی خاص محدود می شود.

@GET("users/{name}/commits")
 Call<List<Commit>> getCommitsByName(@Path("name") String name);

پارامترهای پرس و جو با استفاده از Query نویسی در یک پارامتر متد اضافه می شوند. آنها به طور خودکار به انتهای URL اضافه می شوند.

@GET("users")
Call<User> getUserById(@Query("id") Integer id);

در واقع Body در یک پارامتر متد به Retrofit می گوید تا از شیء به عنوان بدنه درخواست تماس استفاده کند.

@POST("users")
Call<User> postUser(@Body User user)

در جلسات ۶۰ و ۶۱ دوره صفر تا صد دوره جامع آموزش برنامه نویسی اندروید به آموزش کامل رتروفیت پرداختیم و به صورت فیلم آموزشی Retrofit در اختیار شما عزیزان قرار دادیم تا از آن استفاده کنید و کاربرد رتروفیت و ارسال اطلاعات با کتابخانه رتروفیت را به صورت کاربردی یاد بگیرید. | تهیه بقیه دوره های برنامه نویسی اندروید

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

commentشما بگید!

شما چه سوالی درباره این موضوع دارید که اینجا مطرح نشده است؟ لطفا تجربیات خودتان را در این زمینه حتما توی کامنت برای ما بنویسید. منتظر نظرات، پیشنهادات و سوالات شما در همین صفحه از سایت آموزش برنامه نویسی الکامکو هستیم…

توجه

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

shareاشتراک گذاری این مطلب

shareآخرین مقالات

توجه

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

Generic filters
Exact matches only

آخرین مقالات

آموزش های تکمیل شده

توجه

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

0 دیدگاه
بازخورد درون خطی
مشاهده همه نظرات