مقالات اندروید

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

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

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

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

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

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

کلاس مدل که به عنوان یک مدل JSON استفاده می شود .

رابط هایی که عملیات HTTP را تعریف می کنند .

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)

جلسات 60 و 61 دوره صفر تا صد اندروید (معرفی کتابخانه رتروفیت (Retrofit))

یک پاسخ بنویسید

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
  مشترک شدن  
اطلاع رسانی کن