مدت :

۵ ساعت

قیمت : ۱۲۴,۰۰۰ تومان
LinkedIn
Twitter
Facebook
Telegram

درباره مدرس 

اطلاعات دوره

توضیحات

یک بار برای همیشه اتصال به اینترنت در اندروید را اصولی بیاموزید. هدف این آموزش رتروفیت در اندروید همین است. اتصال به اینترنت در اندروید و کار با 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 پروژه محور 

سرفصل‌ها

سرفصل‌ها

درس صفر: معرفی دوره

 

درس اول : معرفی برخی مفاهیم

– معرفی کلاینت و سرور
– چگونگی درخواست دادن کلاینت و پاسخ دادن سرور
– معرفی و ساختار Json
– پروتکل HTTP

 

درس دوم: مقایسه‌ی والی و رتروفیت

– کتابخانه‌ی Volley و Retrofit چیست؟
– کتابخانه‌های Volley و Retrofit چه کمکی به برنامه نویس می‌کنند؟
– چرا باید از کتابخانه‌های Volley یا Retrofit استفاده کتیم؟
– ما در طول دوره از کدامیک استفاده خواهیم کرد

 

درس سوم: بررسی دقیق‌تر ساختار اپلیکیشن

– اپلیکیشن این دوره با چه معماری ساخته می‌شود
– تعداد صفحات این اپلیکیشن
– عملکرد کلی لایه‌های مختلف اپلیکیشن

 

درس چهارم: بررسی کد‌های اولیه

– به بررسی کد‌های پیوست شده همراه با ویدئو می‌پردازیم
– مقداردهی Lazy یعنی چی؟

 

درس پنجم :‌ اتصال به وب سرویس با کتابخانه‌ی Retrofit

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

 

درس ششم : بررسی و مرور مجدد

– بررسی و مرور مجدد کد‌های جلسه قبل از سیر تا پیاز
– بررسی Call و Callback
– بررسی چگونگی ارسال و دریافت و نمایش داده‌ی Json در اپلیکیشن

 

درس هفتم: تحلیل داده‌های Json با کتابخانه‌ی Moshi

-بررسی کتابخانه‌ی moshi و نوع عملکرد آن
-بررسی ساخت Adapterهای دلخواه برای ساخت یا استخراج داده‌های Json در کتابخانه‌ی Moshi
-تنظیم کتابخانه‌ی Moshi برای کار با کتابخانه‌ی Retrofit
-تعریف data class و ساخت آن

 

درس هشتم: استفاده از coroutine

-کوروتین چیست؟
-چرا باید از کوروتین استفاده کنیم؟
-اندروید KTX چیست؟
-چه شرایطی برای استفاده از کوروتین باید محیا باشد؟

 

درس نهم: نمایش عکس

-چگونه یک عکس را در بستر اپلیکیشن نمایش دهیم؟
-نحوه‌ی کار با کتابخانه‌ی Glide
-بدست آوردن یکی از Instance‌های مربوط به DataClass
-اندروید KTX چیست؟
-نحوه‌ی تبدیل String به URI توسط اندروید KTX
-دیتابایندینگ (DataBinding) چیست و چرا باید از آن استفاده کنیم؟
-از چه پروتکلی در چه زمانی استفاده کنیم؟
-نمایش انیمیشن‌ و تصاویر قبل از لود شدن عکس

 

درس دهم: نمایش عکس‌ها در RecyclerView

-RecyclerView چیست و چرا باید از آن استفاده کنیم؟
-چگونگی استفاده از RecyclerView در معماری MVVM
-کار با Adapterهای RecyclerView
-ساخت ViewHolder برای RecyclerView
-آشنایی با مفهوم مهم DiffCallback در RecyclerView
-چرا باید از DiffCallback استفاده کنیم؟
-چرا نباید از notifydatasetchanged() استفاده کنیم؟
-تشخیص تفاوت در آیتم‌های RecyclerView

 

درس یازدهم: مدیریت خطاهای کاربر در RecyclerView

-مرور کدهای جلسه‌ی قبل و توضیحات اضافه‌تر
-چگونه وضعیت‌های مختلف لود شدن عکس را بفهمیم و آن‌ها را مدیریت کنیم
-استفاده از BindingAdapter برای مدیریت وضعیت‌های مختلف

 

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

-چگونه عکس‌ها را از یکدیگر متمایز بدانیم
-چگونه برخی ویژگی‌ها را به بعضی عکس‌ها اضافه کنیم

 

درس سیزدهم: فیلتر نتایج در اپلیکیشن

-اضافه کردن درخواست‌های دیگر به یک URI
-کجا از کلاس‌های enum استفاده کنیم
-چگونه از کلاس‌های enum مقادیر با جنس مختلف استخراج کنیم
-چگونه یک کوئری به URI اضافه کنیم
-کار با option menuها و مدیریت‌ آن‌ها در اندروید
-چگونه یکسری عکس‌ها با ویژگی‌های خاص را در RecyclerView نمایش دهیم
-استفاده از when expression در کاتلین

 

درس چهاردهم: انتقال به صفحه‌ی جزئیات

-کاربرد ()suppress@ چیست؟
-انتقال دیتا بین پروسس‌ها
-افزودن قابلیت کلیک کردن روی هر آیتم از RecyclerView
-functional interface چیست؟
-function type variable چیست؟
-parcel در اندروید چیست و چرا باید از آن استفاده کنیم؟
-مکانیزم bundle

 

درس پانزدهم: صفحه‌ی با جزئیات کامل‌تر

-نمایش اطلاعات کامل به کاربر در صفحه‌ی مربوط به جزئیات هر آیتم
-کار با Transformations

نظرات (18)

18 دیدگاه برای آموزش کامل رتروفیت در اندروید با زبان کاتلین و معماری MVVM

  1. mahdi.dehghani.207 (خریدار محصول)

    ببخشید من این رو خریدم ایا پشتبانی چیزی داره؟

    • علی بخشی

      سلام ،
      سوالی هست در کامنت‌ها بفرمایید برای بررسی.
      با احترام.

  2. ایمان رجبی

    سلام من قصد دارم با کاتلین یک برنامه پرسش و پاسخ انلاین چهارگزینه ای بسازم میخواستم بدونم با تهیه این بسته توانایی این رو دارم که چنین api رو به برنامه خودم متصل کنم؟

    • علی بخشی

      سلام
      در این آموزش مقدمات ارتباط و اتصال بین کلاینت و سرور آموزش داده شده.
      از یک api آماده برای این کار بهره گرفته شده و تمرکز اصلی روی پیاده سازی در سمت کلاینت هست.
      برای اطلاعات بیشتر و تطبیق با آنچه که شما در این آموزش مدنظر دارید، لطفا به ویدئوی معرفی رجوع کنید.
      با احترام.

  3. nazari364 (خریدار محصول)

    سلام
    ببخشید این فایل ها فقط صوتی هستند و پخش نمیشن
    چیکار باید کرد؟

    • روابط عمومی هم رویش

      با سلام و احترام، همراه گرامی فایل های ارائه شده برای این آموزش در قالب زیپ هستند که پس از استخراج با فرمت mp4 بوده که یک فرمت ویدیویی است.مشکل از سیستم شماست، پیشنهاد می شود برای پخش فیلم های دریافتی از هم رویش از پلیر رایگان VLC استفاده نمایید تا کدک های سیستم شما تکمیل باشد. جهت دانلود پلیر می توانید به لینک زیر مراجعه فرمایید

      https://www.videolan.org/vlc/

  4. مهدی (خریدار محصول)

    صوت ویدیو شماره 1 خراب است

    • مصطفی آصفی

      سلام احتمالا مشکل کدک دارین. از این نرم افزار استفاده کنید که کدک‌های لازم رو تو خودش داره.

  5. mahdiiibarzegari@gmail.com (خریدار محصول)

    سورس کامل یا سورس قسمت به قسمت نداره؟چون چند جایی به ارور میخوریم و واقعا سورس نیاز هست ممنون میشم اگه سورس در اخیتار بزارید.

    • علی بخشی

      سلام بر شما،
      سورس کد به صورت کامل در پایان آموزش آمده که میتوانید با استفاده از ابزار گیت بین بعضی قسمت‌های مختلف آن، سوئیچ کنید.

  6. نازنین

    سلام. من یک api از django rest دارم که با متد post باید یک Jason براش بفرستم. توی این دوره این مورد آموزش داده شده یا فقط دریافت از سرور رو گفتید؟

    • علی بخشی

      با سلام و احترام،

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

      برای اطلاع بهتر و کامل‌تر، میتوانید خلاصه‌ای از مباحث مورد بحث در این دوره‌ را در همین صفحه ببنید.

  7. meisam -sh (خریدار محصول)

    سلام
    ادرس url در اموزش باز نمیشه!!!!!!!!!!
    اموزشتون هم بر پایه همین است و عملا غیر ممکن میشه

    • علی بخشی

      سلام و درود،
      آدرس‌های url هیچ مشکلی ندارند.
      همانطور که در طول دوره خدمت شما توضیح داده شد؛
      لطفا با روشن کردن فیلترشکن و درخواست دوباره به سرور، اطلاعات را بدست آورید.
      یا حتی از سرویس شکن نیز میتوانید استفاده کنید.

  8. محمد حسین جربان (خریدار محصول)

    سلام وقتتون بخیر من پروژه رو سینک کردم اما هنگام اجرا شدن این ارور هارو داره براتون فایل ارور رو میزارم دانلود کنید ممنون
    https://www.mediafire.com/file/7y93fvup69t6d2e/eror.zip/file

    • علی بخشی

      سلام
      کد روبرو رو در فایل gradle.properties بنویسید: android.useAndroidX=true
      و اگر کار نکرد این خط رو هم اضافه کنید: android.enableJetifier=true

  9. محمد حسین جربان (خریدار محصول)

    بله میدونم من از داخل فایل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).
      در اندروید استودیو قسمت

      File -> Project Structure -> Project،باید یکی از ورژن‌های گریدلی که تو cache گریدل دیدید وارد کنید.
      Android Gradle Plugin Version هم که قبلا وارد کردید و مطابق با ورژنی هست که تو قایل build.gradle وارد کرده بودید.
      بهتر هست پروژه رو دوباره دانلود کنید تا تغییرات قبلی حذف شوند و دوباره اقدام به تغییر نمایید.

      یا باز هم اگر نتیجه نگرفتید (که احتمالش کم هست چون تمامی پروژه‌های تقریبا به این روش مشکلشان رفع می‌شود) پروژه‌ی مرحله‌ی قبل را اجرا کنید و کد‌های قسمت چهارم را در آن کپی کنید یا یک پروژه‌ی خام برای خودتون بسازید و تمام کد‌ها و کلاس‌ها را در این پروژه‌ی ساخت خودتون کپی کنید.

      با احترام.

  10. محمد حسین جربان (خریدار محصول)

    اقا نشد دوباره اینکارو کردم ارور های بیشتری داد نمیدونم باید چطور نسخه هاشون رو یکسان کنم چون همیشه به پروژه های خودش مشکل نداره چطور باید بفهمم نسخه خود اندروید استودیو چنده؟

    • علی بخشی

      اصلا کاری به ورژن اندروید استودیو نداریم.
      مشکل ورژن گریدل و پلاگین گریدلی هست که شما استفاده میکنید که مغایر با پروژه‌ای هست که در اندروید استودیو خودتون باز میکنید.
      در اکثر پروژه‌هایی که از بیرون (مثل گیت‌هاب و …) دانلود کرده و قصد اجرای آن‌ها را دارید به این مشکل برخورد میکنید.
      تنها کاری که باید انجام بدید ویرایش فایل build.gradle مروبوط به app هست که باید ورژن گریدل و پلاگین اون رو در همون فایل تغییر بدید، برای دسترسی به این قایل هم میتونید از قسمت چپ اندروید استودیو که تمام فایل‌های پروژه رو نشون میده، اقدام کنید.

  11. محمد حسین جربان (خریدار محصول)

    سلام وقتتون بخیر من تو قسمت چها که یه فایل گذاشتید به مشکل خوردم ونمیونم فایلرو باز کنم چند بار هم خود اندروید استودیو فایل اورده که مربوط بهbild بود رو دانلود کردم و هنوز ارور داره باید چیکار کنم
    ارورش تا الانCaused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin [id ‘com.android.application’]

    • علی بخشی

      سلام.
      باید پلاگینی گریدلی که در اندروید استودیو استفاده میکنید با پلاگینی که در فایل build.gradle مربوط به پروژه موجود هست را یکسان‌سازی کنید و همچنین می‌توانید از مسیر

      YourProject > gradle > wrapper > gradle-wrapper.properties

      به تغییر ورژن گریدل اقدام کنید.

  12. محمد حسین

    سلام وقتتون بخیر
    ممنون بابت تهیه اموزش
    یه سوال داشتم اونم اینکه من چنتا دوره دیدم در مورد همین موضوع که برای اتصال از https://moviesapi.ir/ این سایت استفاده کردن مثلا برای لود اونها رفرش اونها یا بار گذاریشون میخواستم ببینم شما هم این سایت استفاده کردید یا کلا در مورد اتصال به نت مستقل اموزش دادین؟؟

    • مصطفی آصفی

      سلام وقت شما هم بخیر. بله اتصال به نت بسته پایین توضیح داده شده:
      اتصال به سرور در اندروید با رتروفیت و معماری MVVM (+)
      البته اونجا از این سایت استفاده نشده ولی شما روش رو که اونجا یاد بگیرید برای این سایت هم احتمالا با کمی تغییر می تونید استفاده کنید.

  13. علی بخشی

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

  14. navid

    خیلی عالی

  15. علی بخشی

    سلام،
    خیر

  16. محمد

    سلام و وقت بخیر
    در این دوره مبحث paging هم آموزش داده میشه؟

  17. علی بخشی

    سلام دوست عزیز،

    بهتر است آشنایی‌ مختصر و حتی مطالعاتی نسبت به ساختار mvvm و coroutine داشته باشید.
    به طور کلی بهتر است اگر آشنایی با موارد گفته شده ندارید، مطالعاتی نسبت به آن‌ها داشته و بعد به تهیه این دوره بپردازید.
    با مروری بر ویدئوی معرفی این آموزش، می‌توانید به اطلاعات جامع و کاملی در این مورد دستیابید.

  18. امیر حسین عزیزی

    ممنون از استاد گرانقدر برای قرار دادن این آموزش ارزشمند امیدوارم مثل سایر آموزش های سایت هم رویش مناسب باشه. این آموزش دنبال دهنده آموزش جامع برنامه نویسی اندروید با کاتلین هست؟ یعنی حتما باید اول اون آموزش رو دید؟

دیدگاه خود را بنویسید

نظرات کاربران در خصوص دوره 

18 دیدگاه برای آموزش کامل رتروفیت در اندروید با زبان کاتلین و معماری MVVM

  1. mahdi.dehghani.207 (خریدار محصول)

    ببخشید من این رو خریدم ایا پشتبانی چیزی داره؟

    • علی بخشی

      سلام ،
      سوالی هست در کامنت‌ها بفرمایید برای بررسی.
      با احترام.

  2. ایمان رجبی

    سلام من قصد دارم با کاتلین یک برنامه پرسش و پاسخ انلاین چهارگزینه ای بسازم میخواستم بدونم با تهیه این بسته توانایی این رو دارم که چنین api رو به برنامه خودم متصل کنم؟

    • علی بخشی

      سلام
      در این آموزش مقدمات ارتباط و اتصال بین کلاینت و سرور آموزش داده شده.
      از یک api آماده برای این کار بهره گرفته شده و تمرکز اصلی روی پیاده سازی در سمت کلاینت هست.
      برای اطلاعات بیشتر و تطبیق با آنچه که شما در این آموزش مدنظر دارید، لطفا به ویدئوی معرفی رجوع کنید.
      با احترام.

  3. nazari364 (خریدار محصول)

    سلام
    ببخشید این فایل ها فقط صوتی هستند و پخش نمیشن
    چیکار باید کرد؟

    • روابط عمومی هم رویش

      با سلام و احترام، همراه گرامی فایل های ارائه شده برای این آموزش در قالب زیپ هستند که پس از استخراج با فرمت mp4 بوده که یک فرمت ویدیویی است.مشکل از سیستم شماست، پیشنهاد می شود برای پخش فیلم های دریافتی از هم رویش از پلیر رایگان VLC استفاده نمایید تا کدک های سیستم شما تکمیل باشد. جهت دانلود پلیر می توانید به لینک زیر مراجعه فرمایید

      https://www.videolan.org/vlc/

  4. مهدی (خریدار محصول)

    صوت ویدیو شماره 1 خراب است

    • مصطفی آصفی

      سلام احتمالا مشکل کدک دارین. از این نرم افزار استفاده کنید که کدک‌های لازم رو تو خودش داره.

  5. mahdiiibarzegari@gmail.com (خریدار محصول)

    سورس کامل یا سورس قسمت به قسمت نداره؟چون چند جایی به ارور میخوریم و واقعا سورس نیاز هست ممنون میشم اگه سورس در اخیتار بزارید.

    • علی بخشی

      سلام بر شما،
      سورس کد به صورت کامل در پایان آموزش آمده که میتوانید با استفاده از ابزار گیت بین بعضی قسمت‌های مختلف آن، سوئیچ کنید.

  6. نازنین

    سلام. من یک api از django rest دارم که با متد post باید یک Jason براش بفرستم. توی این دوره این مورد آموزش داده شده یا فقط دریافت از سرور رو گفتید؟

    • علی بخشی

      با سلام و احترام،

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

      برای اطلاع بهتر و کامل‌تر، میتوانید خلاصه‌ای از مباحث مورد بحث در این دوره‌ را در همین صفحه ببنید.

  7. meisam -sh (خریدار محصول)

    سلام
    ادرس url در اموزش باز نمیشه!!!!!!!!!!
    اموزشتون هم بر پایه همین است و عملا غیر ممکن میشه

    • علی بخشی

      سلام و درود،
      آدرس‌های url هیچ مشکلی ندارند.
      همانطور که در طول دوره خدمت شما توضیح داده شد؛
      لطفا با روشن کردن فیلترشکن و درخواست دوباره به سرور، اطلاعات را بدست آورید.
      یا حتی از سرویس شکن نیز میتوانید استفاده کنید.

  8. محمد حسین جربان (خریدار محصول)

    سلام وقتتون بخیر من پروژه رو سینک کردم اما هنگام اجرا شدن این ارور هارو داره براتون فایل ارور رو میزارم دانلود کنید ممنون
    https://www.mediafire.com/file/7y93fvup69t6d2e/eror.zip/file

    • علی بخشی

      سلام
      کد روبرو رو در فایل gradle.properties بنویسید: android.useAndroidX=true
      و اگر کار نکرد این خط رو هم اضافه کنید: android.enableJetifier=true

  9. محمد حسین جربان (خریدار محصول)

    بله میدونم من از داخل فایل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).
      در اندروید استودیو قسمت

      File -> Project Structure -> Project،باید یکی از ورژن‌های گریدلی که تو cache گریدل دیدید وارد کنید.
      Android Gradle Plugin Version هم که قبلا وارد کردید و مطابق با ورژنی هست که تو قایل build.gradle وارد کرده بودید.
      بهتر هست پروژه رو دوباره دانلود کنید تا تغییرات قبلی حذف شوند و دوباره اقدام به تغییر نمایید.

      یا باز هم اگر نتیجه نگرفتید (که احتمالش کم هست چون تمامی پروژه‌های تقریبا به این روش مشکلشان رفع می‌شود) پروژه‌ی مرحله‌ی قبل را اجرا کنید و کد‌های قسمت چهارم را در آن کپی کنید یا یک پروژه‌ی خام برای خودتون بسازید و تمام کد‌ها و کلاس‌ها را در این پروژه‌ی ساخت خودتون کپی کنید.

      با احترام.

  10. محمد حسین جربان (خریدار محصول)

    اقا نشد دوباره اینکارو کردم ارور های بیشتری داد نمیدونم باید چطور نسخه هاشون رو یکسان کنم چون همیشه به پروژه های خودش مشکل نداره چطور باید بفهمم نسخه خود اندروید استودیو چنده؟

    • علی بخشی

      اصلا کاری به ورژن اندروید استودیو نداریم.
      مشکل ورژن گریدل و پلاگین گریدلی هست که شما استفاده میکنید که مغایر با پروژه‌ای هست که در اندروید استودیو خودتون باز میکنید.
      در اکثر پروژه‌هایی که از بیرون (مثل گیت‌هاب و …) دانلود کرده و قصد اجرای آن‌ها را دارید به این مشکل برخورد میکنید.
      تنها کاری که باید انجام بدید ویرایش فایل build.gradle مروبوط به app هست که باید ورژن گریدل و پلاگین اون رو در همون فایل تغییر بدید، برای دسترسی به این قایل هم میتونید از قسمت چپ اندروید استودیو که تمام فایل‌های پروژه رو نشون میده، اقدام کنید.

  11. محمد حسین جربان (خریدار محصول)

    سلام وقتتون بخیر من تو قسمت چها که یه فایل گذاشتید به مشکل خوردم ونمیونم فایلرو باز کنم چند بار هم خود اندروید استودیو فایل اورده که مربوط بهbild بود رو دانلود کردم و هنوز ارور داره باید چیکار کنم
    ارورش تا الانCaused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin [id ‘com.android.application’]

    • علی بخشی

      سلام.
      باید پلاگینی گریدلی که در اندروید استودیو استفاده میکنید با پلاگینی که در فایل build.gradle مربوط به پروژه موجود هست را یکسان‌سازی کنید و همچنین می‌توانید از مسیر

      YourProject > gradle > wrapper > gradle-wrapper.properties

      به تغییر ورژن گریدل اقدام کنید.

  12. محمد حسین

    سلام وقتتون بخیر
    ممنون بابت تهیه اموزش
    یه سوال داشتم اونم اینکه من چنتا دوره دیدم در مورد همین موضوع که برای اتصال از https://moviesapi.ir/ این سایت استفاده کردن مثلا برای لود اونها رفرش اونها یا بار گذاریشون میخواستم ببینم شما هم این سایت استفاده کردید یا کلا در مورد اتصال به نت مستقل اموزش دادین؟؟

    • مصطفی آصفی

      سلام وقت شما هم بخیر. بله اتصال به نت بسته پایین توضیح داده شده:
      اتصال به سرور در اندروید با رتروفیت و معماری MVVM (+)
      البته اونجا از این سایت استفاده نشده ولی شما روش رو که اونجا یاد بگیرید برای این سایت هم احتمالا با کمی تغییر می تونید استفاده کنید.

  13. علی بخشی

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

  14. navid

    خیلی عالی

  15. علی بخشی

    سلام،
    خیر

  16. محمد

    سلام و وقت بخیر
    در این دوره مبحث paging هم آموزش داده میشه؟

  17. علی بخشی

    سلام دوست عزیز،

    بهتر است آشنایی‌ مختصر و حتی مطالعاتی نسبت به ساختار mvvm و coroutine داشته باشید.
    به طور کلی بهتر است اگر آشنایی با موارد گفته شده ندارید، مطالعاتی نسبت به آن‌ها داشته و بعد به تهیه این دوره بپردازید.
    با مروری بر ویدئوی معرفی این آموزش، می‌توانید به اطلاعات جامع و کاملی در این مورد دستیابید.

  18. امیر حسین عزیزی

    ممنون از استاد گرانقدر برای قرار دادن این آموزش ارزشمند امیدوارم مثل سایر آموزش های سایت هم رویش مناسب باشه. این آموزش دنبال دهنده آموزش جامع برنامه نویسی اندروید با کاتلین هست؟ یعنی حتما باید اول اون آموزش رو دید؟

دیدگاه خود را بنویسید