یک بار برای همیشه اتصال به اینترنت در اندروید را اصولی بیاموزید. هدف این آموزش رتروفیت در اندروید همین است. اتصال به اینترنت در اندروید و کار با API سرور، ابزارهای گوناگونی دارد. کتابخانه Retrofit یکی از گزینههای خوب است. در این آموزش Retrofit ، اپلیکیشنی با معماری MVVM و زبان کاتلین مینویسیم که دادههای خود را از سرور تحت وب و با استفاده از کتابخانه رتروفیت دریافت میکند.
پیشنیاز این دوره آشنایی با برنامه نویسی اندروید با زبان کاتلین معماری MVM است. اگر آشنا نیستید، توصیه میکنیم که نخست آموزش زیر را ببینید:
آموزش برنامه نویسی اندروید با کاتلین و معماری MVVM از صفر (+)
و اما در این آموزش رتروفیت یاد خواهیم گرفت که:
- اپ اندروید را به سرور متصل کنیم.
- از کتابخانه Retrofit برای اتصال به سرور استفاده کنیم.
- پاسخ جیسون را چگونه با رتروفیت پردازش کنیم.
- یک اپلیکیشن با معماری MVVM بسازیم.
- کجا و چگونه از BindingAdapter استفاده کنیم.
- چگونه در اندروید عکس ارسالی سرور را نمایش دهیم.
- نمایش اطلاعات در RecyclerView را مدیریت کنیم.
- چه زمانی از مقداردهی lazy در Kotlin استفاده کنیم.
- چگونه از coroutin به جای call و callback استفاده کنیم.
- کجا باید از singleton در اندروید استفاده کنیم.
- و بسیاری موارد دیگر که در ریزسرفصلها در انتهای توضیحات آمده است.
این آموزش در یک نگاه
ما در آغاز این دوره در مورد ارتباط بین کلاینت صحبت میکنیم. این که جیسون چیست و REST API چیست. و همین طور به مقایسه والی و رتروفیت میپردازیم. ساختار Json در مورد چند API تشریح شده و در این راه، تمرینهایی هم برای شما عزیزان تعریف میکنیم.
ضمنا در حین آموزش رتروفیت با کتابخانههای جانبی دیگری ماننداز جمله moshi و Glide آشنا میشوید. کار با آنها را به طور عملی یاد خواهیم گرفت.
در هنگام پیاده سازی اپلیکیشن دوره، به مفاهیمی از AndroidKTX برخورد میکنیم. استفاده از آنها را در پروژه خود میآموزید. با هم یاد میگیریم که چطور دادهها را برای انتقال از یک صفحه به صفحه دیگر، Serialize کنیم تا بتوانیم آنها را بدون هیچ مشکلی انتقال دهیم.
سریالایز کردن در برنامهنیسی به طور کلی یعنی ایجاد یک استرینگ یا جیسون از یک آبجکت!
چنان که در فیلم معرفی گفته شد، این آموزش رتروفیت پروژه محور است. قابلیتهایی مثل نمایش فیلتر کردن دادههای ورودی API با انتخاب گزینههایی در منو یا مدیریت تصاویر دریافتی در دل پروژه آموزش داده میشود.
این آموزش بی نظیر است زیرا:
- اتصال به اینترنت در اندروید از صفر توضیح داده میشود.
- یک آموزش رتروفیت پروژه محور را تجربه میکنید.
- اتصال به اینترنت را با رتروفیت و زبان کاتلین میآموزید.
- اپلیکیشن با معماری MVVM پیادهسازی میشود که معماری استاندارد گوگل است.
پیشنیاز
- آموزش برنامه نویسی اندروید با کاتلین و استاندارد گوگل (بسته جامع)
- آشنایی قبلی با مفهوم ریسایکلرویو در اندروید به درک بهتر دوره کمک میکند.
دریافت بخش رایگانی از این آموزش رتروفیت:
کتابخانه Retrofit یا Volley __ بهترین کتابخانه برای ارتباط با سرور در اندروید
کلیدواژگان
آموزش رتروفیت در اندروید | اتصال به اینترنت در اندروید | کتابخانه Retrofit یا Volley | ذخیره عکس سرور در اندروید | کار با API | رتروفیت با کاتلین | معماری MVVM در اندروید | استاندارد گوگل در برنامه نویسی اندروید | آموزش GLIDE | کار با MOSHI | آموزش Retrofit پروژه محور
mahdi.dehghani.207 (خریدار محصول) –
ببخشید من این رو خریدم ایا پشتبانی چیزی داره؟
علی بخشی –
سلام ،
سوالی هست در کامنتها بفرمایید برای بررسی.
با احترام.
ایمان رجبی –
سلام من قصد دارم با کاتلین یک برنامه پرسش و پاسخ انلاین چهارگزینه ای بسازم میخواستم بدونم با تهیه این بسته توانایی این رو دارم که چنین api رو به برنامه خودم متصل کنم؟
علی بخشی –
سلام
در این آموزش مقدمات ارتباط و اتصال بین کلاینت و سرور آموزش داده شده.
از یک api آماده برای این کار بهره گرفته شده و تمرکز اصلی روی پیاده سازی در سمت کلاینت هست.
برای اطلاعات بیشتر و تطبیق با آنچه که شما در این آموزش مدنظر دارید، لطفا به ویدئوی معرفی رجوع کنید.
با احترام.
nazari364 (خریدار محصول) –
سلام
ببخشید این فایل ها فقط صوتی هستند و پخش نمیشن
چیکار باید کرد؟
روابط عمومی هم رویش –
با سلام و احترام، همراه گرامی فایل های ارائه شده برای این آموزش در قالب زیپ هستند که پس از استخراج با فرمت mp4 بوده که یک فرمت ویدیویی است.مشکل از سیستم شماست، پیشنهاد می شود برای پخش فیلم های دریافتی از هم رویش از پلیر رایگان VLC استفاده نمایید تا کدک های سیستم شما تکمیل باشد. جهت دانلود پلیر می توانید به لینک زیر مراجعه فرمایید
https://www.videolan.org/vlc/
مهدی (خریدار محصول) –
صوت ویدیو شماره 1 خراب است
مصطفی آصفی –
سلام احتمالا مشکل کدک دارین. از این نرم افزار استفاده کنید که کدکهای لازم رو تو خودش داره.
mahdiiibarzegari@gmail.com (خریدار محصول) –
سورس کامل یا سورس قسمت به قسمت نداره؟چون چند جایی به ارور میخوریم و واقعا سورس نیاز هست ممنون میشم اگه سورس در اخیتار بزارید.
علی بخشی –
سلام بر شما،
سورس کد به صورت کامل در پایان آموزش آمده که میتوانید با استفاده از ابزار گیت بین بعضی قسمتهای مختلف آن، سوئیچ کنید.
نازنین –
سلام. من یک api از django rest دارم که با متد post باید یک Jason براش بفرستم. توی این دوره این مورد آموزش داده شده یا فقط دریافت از سرور رو گفتید؟
علی بخشی –
با سلام و احترام،
ما در طول این دورهی آموزشی، چگونگی ارسال درخواست به سرور، دریافت پاسخ و تجزیه تحلیل دادههای آن میپردازیم.
درخواستی که به سرور ارسال میکنیم، شامل پارامترهایی خواهد بود که هدف ما از این درخواست را معین میکند و به تبع آن پاسخی که از سرور دریافت میکنیم،مطابق با خواست ما خواهد بود.
برای اطلاع بهتر و کاملتر، میتوانید خلاصهای از مباحث مورد بحث در این دوره را در همین صفحه ببنید.
meisam -sh (خریدار محصول) –
سلام
ادرس url در اموزش باز نمیشه!!!!!!!!!!
اموزشتون هم بر پایه همین است و عملا غیر ممکن میشه
علی بخشی –
سلام و درود،
آدرسهای url هیچ مشکلی ندارند.
همانطور که در طول دوره خدمت شما توضیح داده شد؛
لطفا با روشن کردن فیلترشکن و درخواست دوباره به سرور، اطلاعات را بدست آورید.
یا حتی از سرویس شکن نیز میتوانید استفاده کنید.
محمد حسین جربان (خریدار محصول) –
سلام وقتتون بخیر من پروژه رو سینک کردم اما هنگام اجرا شدن این ارور هارو داره براتون فایل ارور رو میزارم دانلود کنید ممنون
https://www.mediafire.com/file/7y93fvup69t6d2e/eror.zip/file
علی بخشی –
سلام
کد روبرو رو در فایل gradle.properties بنویسید: android.useAndroidX=true
و اگر کار نکرد این خط رو هم اضافه کنید: android.enableJetifier=true
محمد حسین جربان (خریدار محصول) –
بله میدونم من از داخل فایلbuild.gradle که در بخش classpath ‘com.android.tools.build:gradle:7.4.0-alpha01’ من ورژن رو تغییر میدم بعد یه فایل دانلود میشه و دوباره ارور (متن ارور رو در پایین میزارم) مشکل من این هست که نمیتونم درست ورژن رو تغییر بدم حتی تو یوتوپ هم گشتم همین کار رو کرده بودن میشه راهنماییم کنید
Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the User Manual chapter on the daemon at https://docs.gradle.org/7.1.1/userguide/gradle_daemon.html
Process command line: G:\APLICITON\android\jre\bin\java.exe –add-opens java.base/java.util=ALL-UNNAMED –add-opens java.base/java.lang=ALL-UNNAMED –add-opens java.base/java.lang.invoke=ALL-UNNAMED –add-opens java.base/java.util=ALL-UNNAMED –add-opens java.prefs/java.util.prefs=ALL-UNNAMED –add-opens java.prefs/java.util.prefs=ALL-UNNAMED –add-opens java.base/java.nio.charset=ALL-UNNAMED –add-opens java.base/java.net=ALL-UNNAMED –add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED -Xmx1024m -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -cp F:\فیلم های برنامه نویسی\retrofit\دیده شده\29T-HB-AndrdRetft-AlBk-04-Project\MarsRealEstate-Starter\wrapper\dists\gradle-7.1.1-bin\f29rtwfnc96ub43tt7p47zsru\gradle-7.1.1\lib\gradle-launcher-7.1.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 7.1.1
Please read the following process output to find out more:
———————–
Error: Could not find or load main class org.gradle.launcher.daemon.bootstrap.GradleDaemon
Caused by: java.lang.ClassNotFoundException: org.gradle.launcher.daemon.bootstrap.GradleDaemon
———————–
Check the JVM arguments defined for the gradle process in:
– gradle.properties in project root directory
علی بخشی –
میتونید این کار هم انجام بدید:
باید نگاهی به cache مربوط به دایرکتوری .gradle هوم خودتون داشته باشید. اونجا تمام گریدلهای روی سیستم شما رو نشون میده (تو لینوکس به این آدرس هست، برای ویندوز: C:\Users\.gradle).
در اندروید استودیو قسمت
محمد حسین جربان (خریدار محصول) –
اقا نشد دوباره اینکارو کردم ارور های بیشتری داد نمیدونم باید چطور نسخه هاشون رو یکسان کنم چون همیشه به پروژه های خودش مشکل نداره چطور باید بفهمم نسخه خود اندروید استودیو چنده؟
علی بخشی –
اصلا کاری به ورژن اندروید استودیو نداریم.
مشکل ورژن گریدل و پلاگین گریدلی هست که شما استفاده میکنید که مغایر با پروژهای هست که در اندروید استودیو خودتون باز میکنید.
در اکثر پروژههایی که از بیرون (مثل گیتهاب و …) دانلود کرده و قصد اجرای آنها را دارید به این مشکل برخورد میکنید.
تنها کاری که باید انجام بدید ویرایش فایل build.gradle مروبوط به app هست که باید ورژن گریدل و پلاگین اون رو در همون فایل تغییر بدید، برای دسترسی به این قایل هم میتونید از قسمت چپ اندروید استودیو که تمام فایلهای پروژه رو نشون میده، اقدام کنید.
محمد حسین جربان (خریدار محصول) –
سلام وقتتون بخیر من تو قسمت چها که یه فایل گذاشتید به مشکل خوردم ونمیونم فایلرو باز کنم چند بار هم خود اندروید استودیو فایل اورده که مربوط بهbild بود رو دانلود کردم و هنوز ارور داره باید چیکار کنم
ارورش تا الانCaused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin [id ‘com.android.application’]
علی بخشی –
سلام.
باید پلاگینی گریدلی که در اندروید استودیو استفاده میکنید با پلاگینی که در فایل build.gradle مربوط به پروژه موجود هست را یکسانسازی کنید و همچنین میتوانید از مسیر
به تغییر ورژن گریدل اقدام کنید.
محمد حسین –
سلام وقتتون بخیر
ممنون بابت تهیه اموزش
یه سوال داشتم اونم اینکه من چنتا دوره دیدم در مورد همین موضوع که برای اتصال از https://moviesapi.ir/ این سایت استفاده کردن مثلا برای لود اونها رفرش اونها یا بار گذاریشون میخواستم ببینم شما هم این سایت استفاده کردید یا کلا در مورد اتصال به نت مستقل اموزش دادین؟؟
مصطفی آصفی –
سلام وقت شما هم بخیر. بله اتصال به نت بسته پایین توضیح داده شده:
اتصال به سرور در اندروید با رتروفیت و معماری MVVM (+)
البته اونجا از این سایت استفاده نشده ولی شما روش رو که اونجا یاد بگیرید برای این سایت هم احتمالا با کمی تغییر می تونید استفاده کنید.
علی بخشی –
سلام به شما فراگیر عزیز.
بسیار خشنود هستم که این آموزش مورد پسند شما قرار گرفت.
navid –
خیلی عالی
علی بخشی –
سلام،
خیر
محمد –
سلام و وقت بخیر
در این دوره مبحث paging هم آموزش داده میشه؟
علی بخشی –
سلام دوست عزیز،
بهتر است آشنایی مختصر و حتی مطالعاتی نسبت به ساختار mvvm و coroutine داشته باشید.
به طور کلی بهتر است اگر آشنایی با موارد گفته شده ندارید، مطالعاتی نسبت به آنها داشته و بعد به تهیه این دوره بپردازید.
با مروری بر ویدئوی معرفی این آموزش، میتوانید به اطلاعات جامع و کاملی در این مورد دستیابید.
امیر حسین عزیزی –
ممنون از استاد گرانقدر برای قرار دادن این آموزش ارزشمند امیدوارم مثل سایر آموزش های سایت هم رویش مناسب باشه. این آموزش دنبال دهنده آموزش جامع برنامه نویسی اندروید با کاتلین هست؟ یعنی حتما باید اول اون آموزش رو دید؟