آموزش رتروفیت (Retrofit) در اندروید
مدرس : علی آشکاران
هکِرزدی وحشتناکترین تخفیف سال با %۹۰ تخفیف ویژه هکرها فقط ۲۴ ساعت
دریافتمدرس : علی آشکاران
قیمت آموزش : ۹۲ هزار تومان
همین الان یادگیری را آغاز کنید !
نوبت رسید به آموزش کار با Retrofit در اندروید! (آموزش retrofit) در ادامه دوره های کوتاه اما کلیدی و حرفه ای رسیدیم به آموزش رتروفیت در اندروید! (دوره کلیدی قبلی مثل Json2Pojo در اندروید، Data Binding در اندروید، Sweet Alert Dialog و ButterKnife در اندروید رو حتما ببینید!) در ساخت هر برنامه ای، یکی از مهمترین قسمت های آن اتصال به سرور، ارسال و دریافت اطلاعات است. اندروید نیز از این قاعده مستثنی نمی باشد.
اگر در ساختار برنامه خود ساز و کار مناسبی برای ارتباط با سرور ایجاد نکنید طولی نمی کشد که دردسرهای عظیمی گریبان گیر شما خواهد شد، در اکثر برنامه های مبتنی بر سرور، سنگینی کفه ترازوی کار شما بر روی ارتباط با سرور است، لذا این قسمت از برنامه نویسی نیاز به دقت و ظرافت بیشتری دارد.
در سری ویدئو های آموزش اندروید در اندروید استودیو از میکس کتابخانه های android-async-http و gson برای تعامل با سرور استفاده شده است که کارایی مناسب و ساز و کاری راحت برای ما ایجاد می کند! این دو کتابخانه در کنار یکدیگر بدون هیچ نقصی کار می کنند و این فوق العاده است! اما آیا روش بهتری هم وجود دارد؟ آیا این بهترین روش ارتباط با سرور در اندروید است؟
بله! رتروفیت می تواند یک جایگزین قدرتمند برای روش مذکور باشد، به نحوی که بسیاری از ریزه کاری های آن را نداشته، سادگی بیشتری به برنامه تان بخشیده و در عین حال، نظم و یکپارچگی دو چندانی را به شما هدیه کند.
رتروفیت یک کتابخانه بسیار قدرتمند برای ارتباط با سرور در اندروید است که به صورت پیش فرض برای برقراری اتصال به سرور از کتابخانه معروف 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، که در حال حاضر ارائه شده، استفاده خواهد شد و چنانچه نسخه جدید ارائه شود این آموزش به درخواست شما مخاطبان عزیز آپدیت خواهد شد!
نوع دوره : ویدئویی و فارسی ، تهیه شده توسط مدرسین تیم آکادمی
توضیحات : کاربر عزیز میتوانید این دوره تصویری را از طریق بخش مربوطه، به صورت دانلودی دریافت کنید.
آموزش رتروفیت به صورت مداوم و به درخواست شما کاربران آپدیت می شود!
آموزش Retrofit دارای پشتیبانی ۳۶۰ درجه بوده و می توانید سوالات خود را در همین صفحه از مدرس دوره بپرسید!
قبل از مشاهده سرفصل این دوره می توانید از طریق لینک زیر فایل Apk برنامه ساخته شده در این آموزش را دریافت کنید :
دریافت فایل apk پروژه ساخته شده
در ابتدا به معرفی اجمالی رتروفیت میپردازیم.
در ویدئوی دوم به صورت فنی این مبحث را بررسی میکنیم.
در ویدئوی سوم یک پروژه جدید ایجاد کرده و رتروفیت را به آن اضافه می کنیم.
در این قسمت باید 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 را آموختیم.
ویدئو های ما به صورت اختصاصی توسط مدرسین آکادمی لرن فایلز تهیه شده است .
ویدئو ها توسط واحد کنترل کیفیت ما بررسی و سطح علمی ، صدا و تصویر ، شیوه بیان و سایر موارد آن تایید می شود .
ویدئو های ما تئوری محض نیستند و در حد نیاز مباحث تئوری مطرح و باقی آموزش عملی و ویژه بازار کار می باشد .
یزدخواستی –
با سلام و تشکر در رابطه با مبحث رتروفیت سوالی دارم:
یک فایل جیسونی روی هاستم دارم(person.json) که محتویات آن در هر لحظه در حال تغییر است قطعه کدی می خواستم که مثلا در هر ۱۰ ثانیه این فایل را از طریق رتروفیت get کند قطعه کدی در اینترنت پیدا کرده ام که از طریق observable محتویات پستی(این لینک رو ببینید) را هر چند ثانیه یک بار می خواند و نمایش می دهد:
این لینک رو ببینید
من میخواهم طوری کدها رو تغییر دهم که فایل من رو بخواند:
این لینک رو ببینید
راهنمائی بفرمائید.
مدرس – علی آشکاران –
سلام.
می خواین وقتی برنامه بسته هست هم این اتفاق بیوفته یا فقط زمانی که برنامه بازه نیازه؟
یزدخواستی –
سلام در زمان اجرای برنامه ی: AndroidRetrofitCallEveryXSecond یعنی می خواهم وقتی برنامه اجراشد آدرس و فایل gson من get بشه اگر امکانش هست چون من تازه کار هستم این جایگذاری url را برای من انجام بدید متشکر میشوم.
مدرس – علی آشکاران –
سلام. بررسی کردم کامل. با استفاده از » این لینک « می تونید به هدفتون برسید
موفق باشید
حسین غویشه (مالک تایید شده) –
سلام
لطفا آموزش retry کردن در رتروفیت (تعیین تعداد و زمان تلاش دوباره برای دریافت اطلاعات) رو به آموزش اضافه کنید.
واحد پشتیبانی لرن فایلز –
سلام بر شما. بله حتما در صورت تمایل سایر کاربران این آموزش اضافه خواهد شد. موفق باشید.
یزدخواستی –
سلام اگر امکانش هست مباحث retry در رترفیت ۲ و rxjava و Observable برای گرفتن فایل های json از هاست رو به آموزش هاتون اضافه کنید تشکر
واحد پشتیبانی لرن فایلز –
در صورت تمایل سایر کاربران حتما این مبحث اضافه خواهد شد.
Damon –
سلام خسته نباشید من برای استخدام دنبال آموزش رتروفیت میگردم که تو برنامه اندروید بتونم اطلاعات رد و بدل کنم یعنی متن و عکس هم از سرور بخونم هم بفرستم بهش این آموزش شما جواب گو من هست؟
تو سرفصل ها ارسال اطلاعات و ندیدم
ممنون میشم ج بدین بهم
واحد پشتیبانی لرن فایلز (مالک تایید شده) –
سلام و عرض ادب
.بله مواردی که فرمودید در این دوره ، آموزش داده شده است .
موفق باشید