نوروز 1404مبارک! تا پایان امشب - بیشترین تخفیف تا امروز (%۷۰ و %۹۰) ویژه جشنواره نوروزی 1404 فقط 24 ساعت دریافت

آموزش رتروفیت؛ کاملترین آموزش Retrofit

نوبت رسید به آموزش کار با Retrofit در اندروید ویدیویی! (آموزش retrofit) در ادامه دوره های کوتاه اما کلیدی و حرفه ای رسیدیم به آموزش رتروفیت در اندروید! (دوره کلیدی قبلی مثل Json2Pojo در اندروید، Data Binding در اندروید، Sweet Alert Dialog و ButterKnife در اندروید رو حتما ببینید!) در ساخت هر برنامه ای، یکی از مهمترین قسمت های آن اتصال به سرور، ارسال و دریافت اطلاعات است. اندروید نیز از این قاعده مستثنی نمی باشد.

اگر در ساختار برنامه خود ساز و کار مناسبی برای ارتباط با سرور ایجاد نکنید طولی نمی کشد که دردسرهای عظیمی گریبان گیر شما خواهد شد، در اکثر برنامه های مبتنی بر سرور، سنگینی کفه ترازوی کار شما بر روی ارتباط با سرور است، لذا این قسمت از برنامه نویسی نیاز به دقت و ظرافت بیشتری دارد.

در سری ویدئوهای آموزش اندروید در اندروید استودیو از میکس کتابخانه های android-async-http و gson برای تعامل با سرور استفاده شده است که کارایی مناسب و ساز و کاری راحت برای ما ایجاد می کند! این دو کتابخانه در کنار یکدیگر بدون هیچ نقصی کار می کنند و این فوق العاده است! اما آیا روش بهتری هم وجود دارد؟ آیا این بهترین روش ارتباط با سرور در اندروید است؟

Retrofit ( رتروفیت | رتروفیت چیست؟ )

بله! رتروفیت می تواند یک جایگزین قدرتمند برای روش مذکور باشد، به نحوی که بسیاری از ریزه کاری های آن را نداشته، سادگی بیشتری به برنامه تان بخشیده و در عین حال، نظم و یکپارچگی دو چندانی را به شما هدیه کند.

رتروفیت یک کتابخانه بسیار قدرتمند برای ارتباط با سرور در اندروید است که به صورت پیش فرض برای برقراری اتصال به سرور از کتابخانه معروف OkHttp استفاده می کند. رتروفیت از Interface ها و Annotation ها در ساختار خود استفاده کرده و شما می توانید از Convertor های مختلفی برای تجزیه اطلاعات دریافتی به کلاس های جاوا استفاده کنید.

  • Gson: com.squareup.retrofit2:converter-gson
  • Jackson: com.squareup.retrofit2:converter-jackson
  • Moshi: com.squareup.retrofit2:converter-moshi
  • Protobuf: com.squareup.retrofit2:converter-protobuf
  • Wire: com.squareup.retrofit2:converter-wire
  • Simple XML: com.squareup.retrofit2:converter-simplexml
  • Scalars (primitives, boxed, and String): com.squareup.retrofit2:converter-scalars

موارد نام برده از جمله Convertor هایی هستند که برای تبدیل یک رشته JSON یا XML به کلاس POJO از قبل ساخته شده اند! حتی اگر این Convertor ها نیاز شما را برطرف نمی‌کنند شما می‌توانید Convertor خودتان را برای این کتابخانه ایجاد کنید.

در دوره ویدئوییآموزش retrofit از کلاس مبدل gson و Scalars استفاده شده است!

در این مجموعه فیلم آموزش رتروفیت شما با نحوه استفاده از این کتابخانه به صورت کامل آشنا می شود!

در این دوره از کدام نسخه (ورژن) رتروفیت استفاده شده است ؟

در این دوره از آخرین نسخه Retrofit، که در حال حاضر ارائه شده، استفاده خواهد شد و چنانچه نسخه جدید ارائه شود این آموزش به درخواست شما مخاطبان عزیز آپدیت خواهد شد!

قبل از مشاهده سرفصل این دوره می توانید از طریق لینک زیر فایل Apk برنامه ساخته شده در این آموزش را دریافت کنید :

سرفصل های دوره آموزش کار با Retrofit در اندروید :

  • در ابتدا به معرفی اجمالی رتروفیت می‌پردازیم.
  • در ویدئوی دوم به صورت فنی این مبحث را بررسی می‌کنیم.
  • در ویدئوی سوم یک پروژه جدید ایجاد کرده و رتروفیت را به آن اضافه می کنیم.

در این قسمت باید retrofit و converter-gson  را به پروژه اضافه کنیم:

  • implementation 'com.squareup.retrofit2:retrofit:2.4.0'
  • implementation 'com.squareup.retrofit2:converter-gson:2.4.0'

کتابخانه‌های دیگر را نیز برای ساخت پروژه اضافه می کنیم:

  • implementation 'de.hdodenhof:circleimageview:2.2.0'
  • implementation 'com.github.bumptech.glide:glide:4.7.1'
  • annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
  • در قسمت چهارم پس از ساخت یک دیتابیس، یک جدول به نام users ایجاد می کنیم.
  • در قسمت پنجم یک سرور ساده برای خواندن اطلاعات از دیتابیس را آموزش داده ایم.

در این ویدئو از دیتابیس MySQL  و زبان برنامه نویسی PHP برای ساخت سرور استفاده شده است.

  • در قسمت ششم کدهای اولیه برای استفاده از رتروفیت را نوشتیم.
  • در قسمت هفتم به صورت بسیار ساده از رتروفیت استفاده کرده و اطلاعاتی را از سرور دریافت می‌کنیم.
  • در قسمت هشتم و نهم اطلاعات دریافت شده از سرور را در یک recyclerView به نمایش در آوردیم!

در این بخش برای دانلود تصاویر برنامه از کتابخانه Glide استفاده شده و همچنین برای نمایش عکس‌ها از کتابخانه CircleImageView استفاده شده است.

  • از قسمت دهم شروع به بررسی جزئیات و نحوه استفاده از ویژگی‌های مختلف رتروفیت کردیم.

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

  • در ویدئوی یازدهم @Path و @Map را بررسی نموده و به همین ترتیب در ویدئوی دوازدهم با @Body آشنا شدیم.

با استفاده از Annotation @Body می‌توانیم اشیاء جاوا را به صورت JSON به سمت سرور ارسال کنیم اما برای استفاده از این ویژگی باید کتابخانه Scalars را به پروژه اضافه کنیم.

  •  در قسمت سیزدهم با نحوه استفاده از Scalars آشنا شدیم.
  • implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
  • در ویدئوی چهاردهم با Annotation @FormUrlEncoded آشنا شدیم.

نحوه ارسال اطلاعات شبیه به فرم‌های HTML را بررسی کردیم.

  • در ویدئوی پانزدهم با Annotaion @Headers آشنا شده  و نحوه استفاده از آن را بررسی کردیم.
  • و در نهایت در ویدئوی شانزدهم نحوه ارسال چندین Header با Annotation @HeaderMap را آموختیم.

ویدیو های نمونه از آموزش رتروفیت (Retrofit) در اندروید:

تعدادی از ویدیو های این دوره در بخش مربوط به پیش نمایش آموزش (بالا- ستون سمت راست) برای شما قرار داده شده است تا از کیفیت کمی و کیفی آموزش رتروفیت (Retrofit) در اندروید مطمئن شوید و قبل از خرید این دوره آموزشی به خوبی سطح آن را از همه لحاظ ارزیابی کنید.

راهنمای دریافت آموزش رتروفیت (Retrofit) در اندروید:

جهت دریافت این آموزش با کلیک بر روی دکمه “دریافت آموزش” (بالا- ستون سمت راست) جهت خرید اقدام کنید. بلافاصله پس از پرداخت آنلاین می توانید وارد پنل کاربری خود در لرن فایلز شده و به ویدیو های آموزشی و سایر امکانات دسترسی داشته باشید.(دسترسی بدون محدودیت در هر زمان و مکان)

پیش از یادگیری» پیشنیاز آموزش رتروفیت (Retrofit) در اندروید؟

ما در آکادمی لرن فایلز آموزش رتروفیت (Retrofit) در اندروید را به گونه‌ای تدریس و تولید کرده‌ایم که این دوره برای تمام افراد اعم از مبتدی و متخصص کاربرد لازم خود را داشته باشد، اما شما برای شروع این دوره نیاز دارید به آموزش‌های زیر مسلط باشید:

اگر به دنبال نقشه راه بعد از دوره آموزش رتروفیت (Retrofit) در اندروید هستید همراه ما باشید.

پس از یادگیری» دوره بعد از آموزش رتروفیت (Retrofit) در اندروید؟

بعد از دوره آموزش رتروفیت (Retrofit) در اندروید اگر تمایل دارید به مسیر آموزشی خود ادامه دهید، به ترتیب زیر حرکت کنید:

امیدواریم کامل نقشه راه برای شما روشن و شفاف شده باشد.

این آموزش تاکنون نیاز به آپدیت نداشته است و کاملاً بروز می باشد!

چنانچه احساس میکنید این آموزش نیاز به آپدیت و بروزرسانی دارد لطفاً این موضوع را با ما در میان بگذارید.

  • در آپدیت باکس این آموزش، موردی یافت نشد.

 

مدرس آموزش
علی آشکاران
71899 دانشجو
939 نظر
4 امتیاز
- پرسش و پاسخ
- متوسط زمان پاسخگویی
علی اشکاران هستم، با نزدیک به 12 سال سابقه توسعه نرم افزار، توسعه برنامه های سمت سرور رو بیشتر از توسعه کلاینت دوست دارم، کتاب می خونم، کد می زنم و زندگی می کنم.یکی از علایقم آموزش هست، و از ارتباط با شما به شدت خوشحال میشم. بهترین ویندوزی که میشناسم لینوکسه :)
آموزش های پیشنهادی
نظرات کاربران

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

35 نظر ثبت شده است
دانشجوی دوره
میثم (21 دی 1401 | 13:42)

سلام معذرت میخام دوره به زبان کاتلینه یا جاوا؟

ارسال پاسخ
لرن فایلز
لرن فایلز
4175 روز همراهی
لرن فایلز (21 دی 1401 | 14:14)

سلام و عرض ادب
دوره به زبان جاوا می باشد.
موفق و پیروز باشید

ارسال پاسخ
دانشجوی دوره
1437 روز همراهی
engineerzahramohammadinasab (30 فروردین 1400 | 16:15)

سلام این آموزش رو نگاه کردم فقط در فایل ActorAdapter.javaدر قسمت @Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {

Actors actors = list.get(position);
holder.id.setText(actors.getS_id());
ست تکست رو قرمز نشون می ده نمی دونم چطور بر طرفش کنم

ارسال پاسخ
علی آشکاران
مدرس دوره
2597 روز همراهی
مدرس - علی آشکاران (30 فروردین 1400 | 23:32)

سلام
لطفا متن ارور رو ارسال کنید

ارسال پاسخ
لرن فایلز
لرن فایلز
4175 روز همراهی
لرن فایلز (2 خرداد 1400 | 18:19)

سلام و عرض ادب
سوالتون رو به آیدی تلگرام @learnfiles_support ارسال کنید

ارسال پاسخ
دانشجوی دوره
1651 روز همراهی
ali moradi (28 شهریور 1399 | 02:21)

انشا الله خیر ببینی

ارسال پاسخ
دانشجوی دوره
1922 روز همراهی
فرهاد فرهی (3 دی 1398 | 03:52)

سلام خسته نباشید مرسی از اموزش خوبتون
من یک سوال داشتم تو قسمت سرور از class setEror توی mypdo استفاده شده اما کلاسش نیست
و من نمیتونم http://localhost/Retrofit/users.php خودم رو بالا بیارم و این خطا رو میده:

Fatal error: Uncaught Error: Class ‘MyError’ not found in C:\xampp\htdocs\Retrofit\MyPDO.php:38 Stack trace: #0 C:\xampp\htdocs\Retrofit\users.php(9): MyPDO::getInstance() #1 {main} thrown in C:\xampp\htdocs\Retrofit\MyPDO.php on line 38

ارسال پاسخ
علی آشکاران
مدرس دوره
2597 روز همراهی
مدرس - علی آشکاران (7 دی 1398 | 18:03)

سلام،این خط زیاد مهم نیست می تونید این خط رو comment کنید . مشکلتون برطرف میشه

ارسال پاسخ
دانشجوی دوره
2016 روز همراهی
حسین غویشه (23 آذر 1398 | 12:58)

سلام لطفا امکان آپلود عکس و ویدیو با نمایش درصد آپلود شده هم اضافه کنید.
باتشکر

ارسال پاسخ
لرن فایلز
لرن فایلز
4175 روز همراهی
لرن فایلز (23 آذر 1398 | 22:49)

با سلام بله حتما در صورت تمایل سایر دانشجویان به صورت آپدیت منتشر خواهد شد.

ارسال پاسخ
دانشجوی دوره
1943 روز همراهی
امیر مهدی زاده (9 آذر 1398 | 13:57)

سلام وقت بخیر
میشه فایل MyPDO.php که نوشتید رو بهم بدید؟

ارسال پاسخ
لرن فایلز
لرن فایلز
4175 روز همراهی
لرن فایلز (10 آذر 1398 | 09:19)

سلام و عرض ادب
فایل های سورس مربوطه بعد از دریافت آموزش همراه فایل فشرده هستند. موفق باشید.

ارسال پاسخ
دانشجوی دوره
1943 روز همراهی
امیر مهدی زاده (13 آذر 1398 | 13:44)

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

ارسال پاسخ
دانشجوی دوره
hamid (16 آبان 1398 | 17:08)

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

ارسال پاسخ
لرن فایلز
لرن فایلز
4175 روز همراهی
لرن فایلز (18 آبان 1398 | 11:29)

سلام بر شما. خوشحالیم که رضایت داشتید

ارسال پاسخ
دانشجوی دوره
Damon (12 آبان 1398 | 21:28)

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

ممنون میشم ج بدین بهم

ارسال پاسخ
لرن فایلز
لرن فایلز
4175 روز همراهی
لرن فایلز (12 آبان 1398 | 23:49)

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

ارسال پاسخ
دانشجوی دوره
یزدخواستی (12 مهر 1398 | 19:23)

سلام اگر امکانش هست مباحث retry در رترفیت 2 و rxjava و Observable برای گرفتن فایل های json از هاست رو به آموزش هاتون اضافه کنید تشکر

ارسال پاسخ
لرن فایلز
لرن فایلز
4175 روز همراهی
لرن فایلز (13 مهر 1398 | 18:45)

در صورت تمایل سایر کاربران حتما این مبحث اضافه خواهد شد.

ارسال پاسخ
دانشجوی دوره
2016 روز همراهی
حسین غویشه (9 مهر 1398 | 04:33)

سلام

لطفا آموزش retry کردن در رتروفیت (تعیین تعداد و زمان تلاش دوباره برای دریافت اطلاعات) رو به آموزش اضافه کنید.

ارسال پاسخ
لرن فایلز
لرن فایلز
4175 روز همراهی
لرن فایلز (9 مهر 1398 | 10:52)

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

ارسال پاسخ
دانشجوی دوره
یزدخواستی (3 مهر 1398 | 12:54)

سلام در زمان اجرای برنامه ی: AndroidRetrofitCallEveryXSecond یعنی می خواهم وقتی برنامه اجراشد آدرس و فایل gson من get بشه اگر امکانش هست چون من تازه کار هستم این جایگذاری url را برای من انجام بدید متشکر میشوم.

ارسال پاسخ
علی آشکاران
مدرس دوره
2597 روز همراهی
مدرس - علی آشکاران (6 مهر 1398 | 09:03)

سلام. بررسی کردم کامل. با استفاده از » این لینک « می تونید به هدفتون برسید
موفق باشید

ارسال پاسخ
دانشجوی دوره
یزدخواستی (2 مهر 1398 | 16:07)

با سلام و تشکر در رابطه با مبحث رتروفیت سوالی دارم:

یک فایل جیسونی روی هاستم دارم(person.json) که محتویات آن در هر لحظه در حال تغییر است قطعه کدی می خواستم که مثلا در هر 10 ثانیه این فایل را از طریق رتروفیت get کند قطعه کدی در اینترنت پیدا کرده ام که از طریق observable محتویات پستی(این لینک رو ببینید) را هر چند ثانیه یک بار می خواند و نمایش می دهد:

این لینک رو ببینید

من میخواهم طوری کدها رو تغییر دهم که فایل من رو بخواند:

این لینک رو ببینید

راهنمائی بفرمائید.

ارسال پاسخ
علی آشکاران
مدرس دوره
2597 روز همراهی
مدرس - علی آشکاران (2 مهر 1398 | 20:46)

سلام.
می خواین وقتی برنامه بسته هست هم این اتفاق بیوفته یا فقط زمانی که برنامه بازه نیازه؟

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

آموزش هک