اپلیکیشن اندرویدی فلشکارت آموزشی آموزش گام به گام ساخت یک اپلیکیشن کامل با جتپک کامپوز و MVVM
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آموزش گام به گام ساخت یک اپلیکیشن کامل با جتپک کامپوز و MVVM
موضوع کلی: برنامه نویسی
موضوع میانی: جتپک کامپوز (Jetpack Compose)
📋 سرفصلهای دوره
- 1. مقدمه دوره و معرفی پروژه نهایی
- 2. جتپک کامپوز چیست و چرا باید از آن استفاده کنیم؟
- 3. راهاندازی محیط توسعه (اندروید استودیو)
- 4. ساخت اولین پروژه کامپوز و بررسی ساختار آن
- 5. آشنایی با Composable Functions و پیشنمایش (Preview)
- 6. کار با Text و استایلدهی به متن
- 7. کار با Button، IconButton و FloatingActionButton
- 8. نمایش تصاویر با Image و AsyncImage
- 9. ورودی کاربر: TextField و OutlinedTextField
- 10. چیدمان عمودی با Column
- 11. چیدمان افقی با Row
- 12. چیدمان لایهای با Box
- 13. آشنایی با Modifier و زنجیرهسازی آن
- 14. فاصلهگذاری و همترازی (Alignment & Arrangement)
- 15. ساخت کامپوننتهای قابل استفاده مجدد (Reusable Composables)
- 16. مفهوم State در کامپوز و Recomposition
- 17. استفاده از remember و mutableStateOf
- 18. مدیریت وضعیتهای پیچیدهتر با rememberSaveable
- 19. مفهوم State Hoisting و جریان داده یکطرفه (Unidirectional Data Flow)
- 20. آشنایی با ViewModel و نقش آن در معماری MVVM
- 21. اتصال ViewModel به Composable
- 22. مدیریت رویدادهای UI و فراخوانی توابع ViewModel
- 23. معرفی LiveData و StateFlow برای مشاهده وضعیت
- 24. مبانی Material Design 3 در کامپوز
- 25. سفارشیسازی رنگها (ColorScheme)
- 26. سفارشیسازی تایپوگرافی (Typography)
- 27. سفارشیسازی اشکال (Shapes)
- 28. پیادهسازی تم روشن و تاریک (Light/Dark Theme)
- 29. استایلدهی پیشرفته با Modifierها (Border, Shadow, Background)
- 30. کار با آیکونها (Material Icons)
- 31. ساخت لیستهای قابل اسکرول با LazyColumn
- 32. ساخت لیستهای افقی با LazyRow
- 33. مدیریت آیتمها در لیستها (items, item)
- 34. افزودن Sticky Headers به لیستها
- 35. ساخت گرید با LazyVerticalGrid و LazyHorizontalGrid
- 36. بهینهسازی عملکرد لیستها و استفاده از key
- 37. معرفی Compose Navigation و راهاندازی آن
- 38. تعریف مقاصد (Destinations) و گراف ناوبری (NavGraph)
- 39. پیمایش بین صفحات با NavController
- 40. ارسال پارامتر بین صفحات (Navigation Arguments)
- 41. کار با Deep Link
- 42. انیمیشنهای انتقال بین صفحات (Navigation Transitions)
- 43. ناوبری تودرتو (Nested Navigation)
- 44. ساخت TopAppBar و BottomAppBar
- 45. پیادهسازی Navigation Drawer
- 46. استفاده از Bottom Navigation Bar
- 47. نمایش دیالوگها (AlertDialog)
- 48. نمایش پیامهای موقت با Snackbar
- 49. پیادهسازی BottomSheet
- 50. کار با Card و Surface
- 51. مدیریت Focus با FocusManager
- 52. کار با Side Effects: LaunchedEffect
- 53. کار با Side Effects: rememberCoroutineScope
- 54. کار با Side Effects: DisposableEffect
- 55. مدیریت ژستهای حرکتی (Gestures): کلیک، کشیدن، زوم
- 56. مروری بر معماری MVVM و اجزای آن
- 57. لایه View (Composables) و مسئولیتهای آن
- 58. لایه ViewModel: منطق UI و مدیریت State
- 59. لایه Model: تعریف Repository Pattern
- 60. مفهوم تزریق وابستگی (Dependency Injection)
- 61. راهاندازی Hilt برای تزریق وابستگی در پروژه
- 62. تزریق ViewModel به Composable ها با Hilt
- 63. مدیریت چرخه حیات (Lifecycle) در کامپوز
- 64. مقدمهای بر Coroutines برای عملیات Asynchronous
- 65. راهاندازی کتابخانه Retrofit برای ارتباط با API
- 66. تعریف مدلهای داده (Data Models) با Kotlin Data Classes
- 67. ساخت سرویس API با Retrofit
- 68. فراخوانی API از Repository با استفاده از Coroutines
- 69. مدیریت وضعیتهای شبکه: Loading, Success, Error
- 70. نمایش وضعیت Loading در UI (مثلاً با CircularProgressIndicator)
- 71. نمایش پیام خطا در UI
- 72. آشنایی با StateFlow و SharedFlow برای مدیریت دادههای جریانی
- 73. معرفی Room به عنوان پایگاه داده محلی
- 74. تعریف Entity و DAO در Room
- 75. ساخت Database class و راهاندازی آن
- 76. انجام عملیات CRUD (Create, Read, Update, Delete) در Room
- 77. استفاده از Flow برای دریافت دادههای لحظهای از Room
- 78. معرفی DataStore و تفاوت آن با SharedPreferences
- 79. ذخیره تنظیمات ساده با Preferences DataStore
- 80. استفاده از کامپوننتهای کامپوز در فایلهای XML
- 81. استفاده از View های سنتی (مانند MapView) در کامپوز
- 82. تست واحد (Unit Testing) برای ViewModel و Repository
- 83. تست UI برای Composable ها (UI Testing)
- 84. ابزارهای دیباگ کردن در کامپوز (Layout Inspector, Recomposition Count)
- 85. بهینهسازی عملکرد (Performance Optimization) در کامپوز
- 86. ساخت Custom Layouts
- 87. انیمیشنهای پایه در کامپوز (animate*AsState)
- 88. انیمیشنهای پیشرفته با Animatable و AnimationSpec
- 89. پروژه: طراحی ساختار کلی اپلیکیشن
- 90. پروژه: ساخت صفحه اصلی (لیست آیتمها)
- 91. پروژه: ساخت آیتم هر ردیف در لیست
- 92. پروژه: پیادهسازی صفحه جزئیات
- 93. پروژه: پیادهسازی صفحه افزودن/ویرایش
- 94. پروژه: اتصال ViewModel ها به صفحات
- 95. پروژه: پیادهسازی پایگاه داده Room برای ذخیره دادهها
- 96. پروژه: عملیات افزودن و ذخیره آیتم جدید
- 97. پروژه: عملیات ویرایش آیتم موجود
- 98. پروژه: عملیات حذف آیتم با انیمیشن
- 99. پروژه: افزودن قابلیت جستجو
- 100. پروژه: پیادهسازی صفحه تنظیمات با DataStore
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.