نوروز 1404مبارک! تا پایان امشب - بیشترین تخفیف تا امروز (%۷۰ و %۹۰) ویژه جشنواره نوروزی 1404 فقط 24 ساعت دریافت
نوبت رسید به آموزش کار با 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، که در حال حاضر ارائه شده، استفاده خواهد شد و چنانچه نسخه جدید ارائه شود این آموزش به درخواست شما مخاطبان عزیز آپدیت خواهد شد!
قبل از مشاهده سرفصل این دوره می توانید از طریق لینک زیر فایل 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 را آموختیم.
تعدادی از ویدیو های این دوره در بخش مربوط به پیش نمایش آموزش (بالا- ستون سمت راست) برای شما قرار داده شده است تا از کیفیت کمی و کیفی آموزش رتروفیت (Retrofit) در اندروید مطمئن شوید و قبل از خرید این دوره آموزشی به خوبی سطح آن را از همه لحاظ ارزیابی کنید.
جهت دریافت این آموزش با کلیک بر روی دکمه “دریافت آموزش” (بالا- ستون سمت راست) جهت خرید اقدام کنید. بلافاصله پس از پرداخت آنلاین می توانید وارد پنل کاربری خود در لرن فایلز شده و به ویدیو های آموزشی و سایر امکانات دسترسی داشته باشید.(دسترسی بدون محدودیت در هر زمان و مکان)
ما در آکادمی لرن فایلز آموزش رتروفیت (Retrofit) در اندروید را به گونهای تدریس و تولید کردهایم که این دوره برای تمام افراد اعم از مبتدی و متخصص کاربرد لازم خود را داشته باشد، اما شما برای شروع این دوره نیاز دارید به آموزشهای زیر مسلط باشید:
اگر به دنبال نقشه راه بعد از دوره آموزش رتروفیت (Retrofit) در اندروید هستید همراه ما باشید.
بعد از دوره آموزش رتروفیت (Retrofit) در اندروید اگر تمایل دارید به مسیر آموزشی خود ادامه دهید، به ترتیب زیر حرکت کنید:
امیدواریم کامل نقشه راه برای شما روشن و شفاف شده باشد.
این آموزش تاکنون نیاز به آپدیت نداشته است و کاملاً بروز می باشد!
چنانچه احساس میکنید این آموزش نیاز به آپدیت و بروزرسانی دارد لطفاً این موضوع را با ما در میان بگذارید.
سلام معذرت میخام دوره به زبان کاتلینه یا جاوا؟
سلام و عرض ادب
دوره به زبان جاوا می باشد.
موفق و پیروز باشید
سلام این آموزش رو نگاه کردم فقط در فایل ActorAdapter.javaدر قسمت @Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
Actors actors = list.get(position);
holder.id.setText(actors.getS_id());
ست تکست رو قرمز نشون می ده نمی دونم چطور بر طرفش کنم
سلام
لطفا متن ارور رو ارسال کنید
سلام و عرض ادب
سوالتون رو به آیدی تلگرام @learnfiles_support ارسال کنید
انشا الله خیر ببینی
سلام خسته نباشید مرسی از اموزش خوبتون
من یک سوال داشتم تو قسمت سرور از 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
سلام،این خط زیاد مهم نیست می تونید این خط رو comment کنید . مشکلتون برطرف میشه
سلام لطفا امکان آپلود عکس و ویدیو با نمایش درصد آپلود شده هم اضافه کنید.
باتشکر
با سلام بله حتما در صورت تمایل سایر دانشجویان به صورت آپدیت منتشر خواهد شد.
سلام وقت بخیر
میشه فایل MyPDO.php که نوشتید رو بهم بدید؟
سلام و عرض ادب
فایل های سورس مربوطه بعد از دریافت آموزش همراه فایل فشرده هستند. موفق باشید.
من آموزش رو تهیه کردم اما این فایل نبود داخلش
ممنون میشم برام ایمیل کنید
سلام ممنون از دوره خوبتون خیلی خوب آموزش دادین واقعا لذت بردم، فقط کاش واسه ارسال اطلاعات هم یک مثال میزدید مخصوصا موقع صدا زدن تابع
با تشکر
سلام بر شما. خوشحالیم که رضایت داشتید
سلام خسته نباشید من برای استخدام دنبال آموزش رتروفیت میگردم که تو برنامه اندروید بتونم اطلاعات رد و بدل کنم یعنی متن و عکس هم از سرور بخونم هم بفرستم بهش این آموزش شما جواب گو من هست؟
تو سرفصل ها ارسال اطلاعات و ندیدم
ممنون میشم ج بدین بهم
سلام و عرض ادب
.بله مواردی که فرمودید در این دوره ، آموزش داده شده است .
موفق باشید
سلام اگر امکانش هست مباحث retry در رترفیت 2 و rxjava و Observable برای گرفتن فایل های json از هاست رو به آموزش هاتون اضافه کنید تشکر
در صورت تمایل سایر کاربران حتما این مبحث اضافه خواهد شد.
سلام
لطفا آموزش retry کردن در رتروفیت (تعیین تعداد و زمان تلاش دوباره برای دریافت اطلاعات) رو به آموزش اضافه کنید.
سلام بر شما. بله حتما در صورت تمایل سایر کاربران این آموزش اضافه خواهد شد. موفق باشید.
سلام در زمان اجرای برنامه ی: AndroidRetrofitCallEveryXSecond یعنی می خواهم وقتی برنامه اجراشد آدرس و فایل gson من get بشه اگر امکانش هست چون من تازه کار هستم این جایگذاری url را برای من انجام بدید متشکر میشوم.
سلام. بررسی کردم کامل. با استفاده از » این لینک « می تونید به هدفتون برسید
موفق باشید
با سلام و تشکر در رابطه با مبحث رتروفیت سوالی دارم:
یک فایل جیسونی روی هاستم دارم(person.json) که محتویات آن در هر لحظه در حال تغییر است قطعه کدی می خواستم که مثلا در هر 10 ثانیه این فایل را از طریق رتروفیت get کند قطعه کدی در اینترنت پیدا کرده ام که از طریق observable محتویات پستی(این لینک رو ببینید) را هر چند ثانیه یک بار می خواند و نمایش می دهد:
این لینک رو ببینید
من میخواهم طوری کدها رو تغییر دهم که فایل من رو بخواند:
این لینک رو ببینید
راهنمائی بفرمائید.
سلام.
می خواین وقتی برنامه بسته هست هم این اتفاق بیوفته یا فقط زمانی که برنامه بازه نیازه؟