اپلیکیشن اندرویدی فلش‌کارت آموزشی پیاده‌سازی Dagger و Hilt در پروژه‌های جت‌پک کامپوز

249,500 تومان
جادوی کدنویسی تمیز با Dagger و Hilt در جت‌پک کامپوز! ارتقای پروژه‌های جت‌پک کامپوز به سطح حرفه‌ای با Dagger و Hilt! آیا از پیچیدگی‌های مدیریت وابستگی‌ها در پروژه‌های اندرویدی خود خسته شده‌اید؟ آیا می‌...
پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,375 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره پیاده‌سازی Dagger و Hilt در پروژه‌های جت‌پک کامپوز

موضوع کلی: برنامه نویسی

موضوع میانی: جت‌پک کامپوز (Jetpack Compose)

📋 سرفصل‌های دوره

  • 1. مقدمه دوره و معرفی پروژه نهایی
  • 2. تزریق وابستگی (Dependency Injection) چیست؟
  • 3. چرا به تزریق وابستگی نیاز داریم؟
  • 4. اصول DI: وارونگی کنترل (Inversion of Control)
  • 5. آشنایی با Dagger 2: تاریخچه و اهداف
  • 6. آشنایی با Hilt: ساده‌سازی Dagger
  • 7. مقایسه Dagger و Hilt: مزایا و معایب
  • 8. مقدمه‌ای بر جت‌پک کامپوز (Jetpack Compose)
  • 9. راه‌اندازی محیط توسعه: اندروید استودیو، کاتلین و گریدل
  • 10. ساخت اولین پروژه جت‌پک کامپوز
  • 11. آشنایی با ساختار پروژه کامپوز
  • 12. معرفی ViewModel در معماری اندروید و کامپوز
  • 13. مشکل اصلی: ساخت دستی وابستگی‌ها در یک پروژه کامپوز
  • 14. بررسی یک مثال بدون DI و درک چالش‌ها
  • 15. اهمیت DI در معماری‌های مدرن اندروید (MVVM, Clean Architecture)
  • 16. افزودن Hilt به پروژه: تنظیمات گریدل
  • 17. انوتیشن HiltAndroidApp@ و نقش آن
  • 18. انوتیشن AndroidEntryPoint@ برای Activityها
  • 19. ساخت اولین کلاس قابل تزریق با Inject@
  • 20. تعریف ماژول‌ها با Module@
  • 21. فراهم کردن وابستگی‌ها با Provides@
  • 22. ساخت یک Repository ساده و تزریق آن
  • 23. انوتیشن HiltViewModel@ برای ViewModelها
  • 24. نحوه دسترسی به ViewModel در کامپوزبل‌ها با ()hiltViewModel
  • 25. کامپوننت‌های Hilt: آشنایی با سلسله مراتب
  • 26. معرفی SingletonComponent و کاربرد آن
  • 27. معرفی ActivityRetainedComponent و ViewModelComponent
  • 28. معرفی ActivityComponent و FragmentComponent
  • 29. محدوده‌بندی (Scoping) وابستگی‌ها با Singleton@
  • 30. محدوده‌بندی با ActivityRetainedScoped@ و ViewModelScoped@
  • 31. تفاوت Provides@ و Binds@ و زمان استفاده از هرکدام
  • 32. تعریف یک اینترفیس و پیاده‌سازی آن
  • 33. استفاده از Binds@ برای اتصال اینترفیس به پیاده‌سازی
  • 34. مثال عملی: تزریق Retrofit برای ارتباط با شبکه
  • 35. مثال عملی: تزریق Room برای پایگاه داده محلی
  • 36. Qualifiers: زمانی که چند پیاده‌سازی از یک نوع داریم
  • 37. ساخت Qualifier سفارشی با انوتیشن Qualifier@
  • 38. استفاده از Named@ به عنوان یک Qualifier پیش‌ساخته
  • 39. مثال عملی: تزریق کلیدهای API یا URLهای مختلف
  • 40. نصب ماژول‌ها در کامپوننت‌ها با installIn@
  • 41. آشنایی با چرخه حیات کامپوننت‌های Hilt
  • 42. Entry Points: دسترسی به وابستگی‌ها از کلاس‌های خارج از Hilt
  • 43. تعریف Entry Point با انوتیشن EntryPoint@
  • 44. نحوه استفاده از EntryPoints.get برای دریافت وابستگی
  • 45. تزریق کمکی (Assisted Injection) چیست و چرا به آن نیاز داریم؟
  • 46. راه‌اندازی Assisted Injection با AssistedInject@
  • 47. تعریف Factory با AssistedFactory@
  • 48. تزریق پارامترهای زمان اجرا (Runtime) به ViewModel
  • 49. Multi-bindings: فراهم کردن مجموعه‌ای از وابستگی‌ها
  • 50. استفاده از IntoSet@ برای ساخت یک Set از وابستگی‌ها
  • 51. استفاده از IntoMap@ برای ساخت یک Map از وابستگی‌ها
  • 52. معرفی MapKey@ برای کلیدهای Map در Multi-bindings
  • 53. کاربردهای عملی Multi-bindings در پروژه‌های واقعی
  • 54. مقدمه‌ای بر تست با Hilt
  • 55. راه‌اندازی Hilt برای تست‌های واحد (Unit Tests)
  • 56. مدیریت وضعیت (State) در ViewModelهای کامپوز
  • 57. تابع ()hiltViewModel چگونه در پشت صحنه کار می‌کند؟
  • 58. ارسال پارامتر از Navigation-Compose به HiltViewModel
  • 59. استفاده از SavedStateHandle برای حفظ وضعیت
  • 60. تزریق SavedStateHandle به صورت خودکار در HiltViewModel
  • 61. تزریق وابستگی در توابع کامپوزبل (و چرا یک ضدالگو است)
  • 62. استفاده از CompositionLocalProvider به عنوان جایگزین DI
  • 63. مقایسه Hilt و CompositionLocalProvider: کدام را انتخاب کنیم؟
  • 64. محدوده‌بندی وابستگی‌ها به گراف ناوبری (Navigation Graph)
  • 65. استفاده از ()hiltViewModel با NavBackStackEntry خاص
  • 66. اشتراک‌گذاری یک ViewModel بین چند صفحه کامپوز
  • 67. مدیریت وابستگی‌ها برای پیش‌نمایش (Preview@)
  • 68. ساخت وابستگی‌های ساختگی (Mock) برای Preview@
  • 69. بهترین شیوه‌ها برای ساختاردهی پروژه Hilt و کامپوز
  • 70. استراتژی ماژولارسازی پروژه با Hilt
  • 71. چرا باید Dagger را یاد بگیریم وقتی Hilt وجود دارد؟
  • 72. راه‌اندازی Dagger 2 در یک پروژه اندرویدی (بدون Hilt)
  • 73. مفاهیم اصلی Dagger: کامپوننت، ماژول، Provides و Inject
  • 74. ساخت اولین کامپوننت Dagger
  • 75. ساخت (Build) گراف وابستگی Dagger
  • 76. نحوه انجام تزریق دستی در Activity
  • 77. محدوده‌بندی (Scoping) در Dagger
  • 78. Subcomponents: ساخت گراف‌های وابستگی تودرتو
  • 79. آشنایی با Subcomponent.Builder@
  • 80. معرفی Dagger Android: جد Hilt
  • 81. راه‌اندازی Dagger Android در یک پروژه
  • 82. آشنایی با DaggerApplication و AndroidInjection
  • 83. انوتیشن ContributesAndroidInjector@ و نقش آن
  • 84. مقایسه پیچیدگی راه‌اندازی Dagger Android با سادگی Hilt
  • 85. مهاجرت یک پروژه ساده از Dagger Android به Hilt
  • 86. Multi-bindings در Dagger به صورت عمیق
  • 87. تزریق تنبل (Lazy Injection) با `Lazy<T>`
  • 88. تزریق فراهم‌کننده (Provider Injection) با `Provider<T>`
  • 89. تفاوت و کاربردهای Lazy و Provider
  • 90. وابستگی‌های کامپوننت (Component Dependencies)
  • 91. ساخت Scopeهای سفارشی در Dagger
  • 92. متدهای static در ماژول‌های Dagger
  • 93. Dagger Producers برای وابستگی‌های غیرهمزمان (Asynchronous)
  • 94. خطاهای رایج Dagger و روش‌های اشکال‌زدایی
  • 95. تحلیل کدهای تولیدشده توسط Dagger
  • 96. معماری پروژه نهایی: MVVM و اصول Clean Architecture
  • 97. پیاده‌سازی کامل یک اپلیکیشن نمونه (از صفر تا صد)
  • 98. ترکیب Hilt، Compose، Coroutines، Retrofit و Room
  • 99. استراتژی‌های تست: تست واحد، یکپارچه‌سازی و UI با Hilt
  • 100. جمع‌بندی دوره، منابع بیشتر و گام‌های بعدی
اپلیکیشن آموزشی اندروید
یادگیری هوشمند، همیشه همراه شما
فلش‌کارت‌های آموزشی را در یک محیط فارسی، ساده و کاربردی مرور کنید؛ پاسخ‌های خود را بسنجید و پیشرفت یادگیری‌تان را دنبال کنید.
مطالعه آفلاین محیط فارسی و راست‌چین ویژه اندروید
فلش‌کارت آموزشی؛ روشی کاربردی برای مرور مطالب

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

📴
یادگیری بدون اینترنت مداوم
پس از نصب و در دسترس بودن محتوای دوره، فلش‌کارت‌ها را در زمان و مکان دلخواه مرور کنید.
🗂️
انواع محتوای آموزشی
از نکته‌های آموزشی تا پرسش‌های چهارگزینه‌ای و پرسش‌وپاسخ، مطالب را متناسب با نیاز خود مرور کنید.
📊
ارزیابی میزان یادگیری
پاسخ‌های درست و غلط خود را ثبت کنید و آمار عملکردتان را به تفکیک نوع محتوا ببینید.
🎯
مرور هدفمند فصل‌ها
فصل‌های موردنظر را انتخاب کنید و با استفاده از گزینه انتخاب همه، مرور فصل‌های مرورنشده را در اولویت قرار دهید.
انواع فلش‌کارت‌های قابل مرور

محتوای آموزشی در قالب‌های متنوع ارائه می‌شود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموخته‌ها قابل استفاده باشد.

💬
نکته‌های خودمانی
یادگیری ساده و روان
📘
نکته‌های رسمی و کتابی
مرور دقیق مفاهیم
📝
پرسش‌های چهارگزینه‌ای
سنجش آموخته‌ها
❓
پرسش‌وپاسخ
تمرین یادآوری پاسخ
🎓
درسنامه
مرور محتوای آموزشی
امکانات مرور و ارزیابی
حرکت ساده بین کارت‌ها
استفاده از دکمه‌های قبلی و بعدی و مشاهده نوار پیشرفت برای دنبال کردن روند مرور.
مشاهده پاسخ و توضیحات
برگرداندن کارت برای نمایش پاسخ و توضیحات در قالب‌هایی مانند تست و پرسش‌وپاسخ.
تنظیم اندازه فونت
انتخاب اندازه مناسب نوشته‌ها برای تجربه مطالعه راحت‌تر.
نمایش فرمول‌های ریاضی
پشتیبانی از نمایش صحیح فرمول‌ها و روابط ریاضی مبتنی بر LaTeX.
ثبت نتیجه و گزارش آماری
علامت‌گذاری هر پاسخ به‌صورت درست یا غلط و مشاهده تعداد و درصد موفقیت برای انواع محتوا.
طراحی‌شده برای مطالعه روزمره
  • رابط کاربری فارسی و راست‌چین با فونت وزیر.
  • تم روشن و تیره مطابق تنظیمات سیستم.
  • صفحه‌بندی ساده برای انتخاب دوره و شروع مرور.
  • نمایش تعداد دفعات مرور هر فصل.
  • انتخاب چند فصل برای مرور هم‌زمان.
  • امکان تمرکز بر فصل‌هایی که هنوز مرور نشده‌اند.
مناسب برای چه کسانی است؟

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

توجه: محتوای آموزشی و تعداد فلش‌کارت‌ها به دوره انتخاب‌شده بستگی دارد. محتوای دوره پس از نصب، درون برنامه قابل استفاده است؛ با این حال، دریافت اولیه اپلیکیشن و به‌روزرسانی‌های احتمالی ممکن است به اینترنت نیاز داشته باشند.
گالری تصاویر اپلیکیشن‌ها
محیط واقعی اپلیکیشن‌های آموزشی ما
تصاویر زیر، نمونه‌هایی از محیط واقعی اپلیکیشن‌های آموزشی ما هستند و قالب کلی، سبک طراحی و شیوه نمایش محتوای آموزشی در این برنامه‌ها را نشان می‌دهند.
نگاهی به فضای داخل برنامه
تصویر محیط اپلیکیشن آموزشی ۱
نمای اپلیکیشن ۱
تصویر محیط اپلیکیشن آموزشی ۲
نمای اپلیکیشن ۲
تصویر محیط اپلیکیشن آموزشی ۳
نمای اپلیکیشن ۳
تصویر محیط اپلیکیشن آموزشی ۴
نمای اپلیکیشن ۴
تصویر محیط اپلیکیشن آموزشی ۵
نمای اپلیکیشن ۵
تصویر محیط اپلیکیشن آموزشی ۶
نمای اپلیکیشن ۶
تصویر محیط اپلیکیشن آموزشی ۷
نمای اپلیکیشن ۷
تصویر محیط اپلیکیشن آموزشی ۸
نمای اپلیکیشن ۸
تصویر محیط اپلیکیشن آموزشی ۹
نمای اپلیکیشن ۹
تصویر محیط اپلیکیشن آموزشی ۱۰
نمای اپلیکیشن ۱۰
تصویر محیط اپلیکیشن آموزشی ۱۱
نمای اپلیکیشن ۱۱
نکته مهم درباره تصاویر
این تصاویر نمونه‌ای از قالب و سبک طراحی اپلیکیشن‌های آموزشی ما هستند. اپلیکیشن ارائه‌شده نیز از همین رویکرد طراحی و نمایش محتوای آموزشی پیروی می‌کند؛ جزئیات ظاهری و امکانات قابل مشاهده ممکن است متناسب با نوع دوره و بخش مورد استفاده متفاوت باشد.
تگ‌ها: Android development Dagger Dagger Hilt Dependency Injection Hilt Jetpack Compose Kotlin Mobile Development برنامه نویسی اندروید تزریق وابستگی توسعه اپلیکیشن جت‌پک کامپوز کوتلین وابستگی

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.