145,000 تومان

میثم بابائی
Android , Kotlin , Javaبرنامه نویسی موبایل-kotlin
تزریق وابستگی با Hilt در اندروید
بررسی اجمالی
- فصل 3
- قسمت 26
- مدت زمان 04:17:19
- سطح پیشرفته
- وضعیت به اتمام رسیده
- سورس کد دارد
- نحوه مشاهده SpotPlayer
یکی از چالشهایی که هر برنامهنویس زمان طراحی اپلیکیشنهای بزرگ با آن مواجه میشود پیچیده شدن کدهای نرمافزار است. همچنین مدیریت ساده بودن و خوانایی کد هم خیلی برای برنامهنویس مهمه یعنی در عین پیچیدگی،کدها باید خوانا و قابلگسترش باشند.منظور از پیچیدگی یعنی این که اپلیکیشن ما چندین فیچر بزرگ داشته باشد.
اگر دنبال یادگیری DependencyInjection هستید پس از اهمیت این موضع مطلع هستید. البته DI یک مبحث سخت به نظر میرسد ولی با استفاده از این دوره میتوانید بهراحتی DependencyInjection را یاد بگیرید.
مبحث بعدی که در این دوره به آن میپردازیم Coroutine هست. زبان kotlin یک رویکرد پیشرفته از برنامهنویسی همزمان را در coroutine معرفی کرد. در اندروید برای ساده کردن کارهای async از coroutine استفاده میشود. یک قابلیت خیلی خوب coroutine این است که میتوانیم آن را تعلیق کنیم و هرزمان که خواستیم دوباره از سر بگیریم پس به ما این امکان را می دهد که کارهای طولانیمدت را تدریجی انجام دهیم.
در فصل اول این دوره تزریق وابستگی با استفاده از Hilt را آموزش میدهم .
تزریق وابستگی باHilt
در طراحی نرمافزار و استفاده از برنامهنویسی شی گرا، تزریق وابستگی فرایند تأمین منبعی است که یک قطعه کد تعیین شده به این نیاز دارد. به منبع مورد نیاز که اغلب جزء خود برنامه است، وابستگی می گوییم.
موقعی که یک قسمتِ نرمافزار برای تکمیل هدف مورد نظرش به منابع دیگر وابسته است، باید بداند که با کدام منابع ارتباط برقرار کند و آنها را کجا قرار دهد و چطوری با آنها ارتباط برقرار کند.
یکی از راههای ساختاردهی کد، این است که یک مکان برای هر منبع در نظر بگیریم. راه دیگر اینکه از تزریق وابستگی استفاده کنیم و یک قطعه کد خارجی مسئول مکانیابی منابع است.
در فصل دوم تکنولوژی محبوب Coroutine را آموزش میدهم.
استفاده ازCoroutine
برنامهنویسی ناهمزمان (Asynchronous) در این نوع برنامهنویسی ما چندین عملیات را با هم شروع میکنیم و زمان اتمام این عملیات ها با هم متفاوت است و ممکن است با همان ترتیبی که شروع کردیم تمام نشوند.
برنامهنویسی همزمان (Synchronous) چیست؟
در این نوع برنامهنویسی همه درخواستها پشتسرهم اجرا میشوند و تا زمانی که درخواست اول به پایان نرسد درخواست دوم اجرا نمیشود و همین روند تا آخرین درخواست ادامه دارد.
یک مثال در دنیای واقعی برای برنامهنویسی :
پختن غذا را در نظر بگیرید. اول قابلمه برنج رو که با آب پر شده روی گاز میگذاریم و گاز رو روشن میکنیم همزمان با فرایند پختهشدن برنج سیبزمینیها رو سرخ میکنیم بعد که آب برنج جوش آمد برنج رو آبکش میکنیم و دوباره با قابلمه آن را روی گاز میگذاریم روی گاز تا دم بکشد و همزمان با دم کشیدن برنج سالاد هم درست میکنیم. پس اگر ما بخواهیم این کارها رو پشتسرهم انجام بدهیم شاید چند ساعت طول بکشد ولی همزمان در عرض 30 دقیقه همه کارها انجام میشوند. کامپیوتر و موبایل هم در انجام کارها مثل انسان رفتار میکنند مثلاً ما در اپلیکیشن ثبتنام میکنیم و بعد از آن چند تا عکس آپلود میکنیم بعد از ارسال منتظر نمیمانیم که جواب رو به ما برگرداند و همزمان کارهای دیگر رو هم انجام میدهیم. یا مثلاً داریم لیست کالاها رو از سرور میگیریم. منتظر نمیمانیم که کل دیتاها رو بگیرد بعد بریم سراغ کار بعدی. همزمان با گرفتن لیست کالاها لیست دستهبندیها رو هم میگیریم.
برای برنامهنویسی ناهمزمان در اندروید از Coroutine استفاده میکنیم که انجام کارها رو خیلی برای ما راحتتر میکند و برای برنامهنویسی اندروید خیلی کاربردی است.
در فصل سوم یک پروژه سبک داریم که لیست اخبار را از سرور میگیرد و همچنین امکان جستجوی اخبار را هم دارد. در این پروژه از Hilt و Coroutine به همراه معماری MVVM و همچنین navigationComponent استفاده میکنیم.
در فصل سوم یک پروژه سبک داریم که لیست اخبار را از سرور میگیرد و همچنین امکان جستجوی اخبار را هم دارد. در این پروژه از Hilt و Coroutine به همراه معماری MVVM و همچنین navigationComponent استفاده میکنیم.
برای دریافت سورس پروژه در گیت هاب روی لینک زیر کلیک کنید.
ویدئوها
فیلمهای این دوره آموزشی با استفاده از پخش کننده SpotPlayer محافظت شدهاند و فقط با دریافت لایسنس در پنل کاربری، قابل مشاهده هستند.
برای ارسال نظر وارد حساب کاربری خود شوید
ورود به حساب کاربری ثبت نام
نظرات 2
سلام استاد خسته نباشید، لطفا اگر امکانش هست آموزش فلو را هم قرار دهید. با تشکر
سلام وقت بخیر
در دوره پیشرفته برنامه نویسی اندروید این موضوع را آموزش خواهیم داد