آموزش اصول اساسی اندروید کامپوز - ساخت اپلیکیشن اندروید حرفه ای - آخرین آپدیت

دانلود Android Compose Essentials - Build Android Apps like a Pro

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

یادگیری کاتلین و جتپک کامپوز، Room، تزریق وابستگی، Retrofit، مکان و اصول معماری مدرن

اصول اولیه زبان کاتلین و مفاهیم برنامه نویسی شی گرا را بیاموزید.

کدنویسی ناهمزمان با Coroutines و Flow کاتلین را یاد بگیرید.

چگونگی ساخت یک برنامه اندروید بومی از ابتدا را یاد بگیرید.

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

معماری مدرن برنامه اندروید را با MVVM و الگوی Repository یاد بگیرید.

نحوه ایجاد الگوی معماری لایه ای - لایه Presentation، لایه Data را بیاموزید.

بهترین شیوه ها مانند تفکیک نگرانی (Separation of Concern)، منبع واحد حقیقت (Single Source of Truth - SSOT)، هدایت UI از مدل ها، تزریق وابستگی را یاد بگیرید.

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

نحوه فراخوانی API های REST، انجام درخواست شبکه با Retrofit و تجزیه JSON را یاد بگیرید.

نحوه انجام CRUD و پرس و جوهای پیچیده join با SQLite را با استفاده از کتابخانه Room یاد بگیرید.

پیش نیازها:

نیازی به تجربه در توسعه برنامه (اندروید یا iOS) نیست.

دانش اولیه در مورد هر زبان مبتنی بر برنامه نویسی شی گرا مانند C++، Java، C# یا Python مورد نیاز است.

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

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

آنچه خواهید آموخت:

  1. مبانی کاتلین:

    • بر مبانی کاتلین، از جمله حلقه ها، توابع و مفاهیم برنامه نویسی شی گرا (OOP) مسلط شوید.

    • کلاس‌های ویژه کاتلین مانند کلاس‌های داده، کلاس‌های مهر و موم شده و موارد دیگر را برای استفاده از پتانسیل کامل کاتلین درک کنید.

  2. راه اندازی پروژه اندروید و مبانی جتپک کامپوز:

    • ساختارهای پروژه اندروید و نحوه راه اندازی ابزارهای توسعه و SDK ها را بیاموزید.

    • در مبانی جتپک کامپوز غوطه ور شوید، توابع Composable، Preview Composables، متن و تصویر Composables را بررسی کنید.

  3. طرح بندی در جتپک کامپوز:

    • Layout Composables مانند Column، Row، Box، LazyColumn، Modifier، Scaffold و AppBar را بررسی کنید.

    • برای طراحی اجزای UI مانند یک صفحه پروفایل و تسلط بر Weight Modifier برای طرح‌بندی‌های واکنش‌گرا، روی وظایف عملی کار کنید.

  4. مدیریت حالت و چرخه حیات:

    • مفاهیم کلیدی State در Compose، MutableState و تابع Remember را درک کنید.

    • بر Hoisting State، ViewModels و مدیریت چرخه حیات Activity مسلط شوید و در عین حال به بهترین شیوه ها مانند تفکیک نگرانی (Separation of Concern) و منبع واحد حقیقت (Single Source of Truth - SSOT) پایبند باشید.

  5. همزمانی با کاتلین:

    • در Coroutines کاتلین غوطه ور شوید و یاد بگیرید که همزمانی را با توابع معلق، async/await، launch و تکنیک های تجزیه موازی مدیریت کنید.

  6. شبکه و تزریق وابستگی:

    • ادغام‌های شبکه‌ای یکپارچه را با استفاده از Retrofit بسازید، مکان دستگاه را مدیریت کنید و معماری برنامه را با تزریق وابستگی با استفاده از Hilt و الگوی Repository بهبود بخشید.

  7. ماندگاری و ناوبری:

    • بر کتابخانه Room Persistence مسلط شوید تا عملیات CRUD پایگاه داده و پرس و جوهای JOIN پیچیده را پیاده سازی کنید.

    • یاد بگیرید که با استفاده از Compose Navigation، ارسال آرگومان و SavedStateHandle بین مقصدها حرکت کنید.

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

اکنون ثبت نام کنید و شروع به ساخت برنامه های زیبای اندروید با جتپک کامپوز کنید!


سرفصل ها و درس ها

به دوره خوش آمدید Welcome to the course

  • خوش آمدید! Welcome!

  • نحوه استفاده از این دوره How to take this course

زبان برنامه نویسی کاتلین Kotlin Programming Language

  • مروری بر بخش - آنچه خواهید آموخت Section overview - What you will learn

  • سلام دنیا - اولین برنامه کاتلین ما Hello World-Our first Kotlin Program

  • متغیرهای کاتلین Kotlin Variables

  • انواع داده بیشتر در کاتلین More Kotlin Data Types

  • درون یابی رشته String interpolation

  • عملگرهای کاتلین Kotlin Operators

  • آزمون سریع - یکی را انتخاب کنید Quick Quiz - Take one

  • عبارت شرطی - اگر، در غیر این صورت Conditional Statement - If Else

  • عبارت اگر، در غیر این صورت در کاتلین If Else Expression in Kotlin

  • تمرین - یافتن شرایط آب و هوایی Excercise-Find the weather condition

  • محدوده عالی است Range is Awesome

  • چه زمانی بهتر از if-else-if است When is better than if-else-if

  • حلقه های کاتلین Kotlin Loops

  • آزمون سریع - دومی را انتخاب کنید Quick Quiz - Take two

  • مجموعه - لیست غیر قابل تغییر Collection - Immutable List

  • مجموعه - لیست قابل تغییر Collection - Mutable List

  • مجموعه - نگاشت Collection - Map

  • آزمون سریع - سومی را انتخاب کنید Quick Quiz - Take three

  • اعلان یک تابع با پارامترها Declare a Function with Parameters

  • تابع با پارامترهای اختیاری Function with Optional Parameters

  • عبارت Lambda - تابعی بدون نام Lambda Expression - A function without a name

  • پیاده سازی واقعی Lambda Real implementation of Lambda

  • آزمون سریع - چهارمی را انتخاب کنید Quick Quiz - Take Four

  • ایمنی Null در کاتلین Null Safety in Kotlin

  • ایجاد یک کلاس و شیء Create a Class and Object

  • سازنده اصلی و بلوک init Primary Constructor and init block

  • اعتبارسنجی آرگومان سازنده اصلی Validate primary constructor argument

  • مدیریت استثناء با try-catch Handle exception with try-catch

  • متد toString The toString method

  • متد equals The equals method

  • کلاس داده از همه چیز مراقبت می کند Data class takes care of everything

  • آزمون سریع - پنجمی را انتخاب کنید Quick Quiz - Take Five

  • وراثت در کاتلین Inheritance in Kotlin

  • ضرورت لغو متد Necessity of Method Overriding

  • کلاس و متد Abstract Abstract Class and Method

  • Interface در کاتلین Interface in Kotlin

  • شیء و شیء Companion Object and Companion Object

  • آزمون سریع - ششمی را انتخاب کنید Quick Quiz - Take Six

به اندروید خوش آمدید Welcome to Android

  • نصب Jetbrains Toolbox Install Jetbrains Toolbox

  • نصب Android Studio و SDK Install Android Studio and SDK

  • نصب دستگاه مجازی و ابزارهای SDK Install Virtual Device and SDK Tools

  • ایجاد اولین پروژه اندرویدی خود Create your first Android Project

  • اجرای اولین برنامه خود روی Emulator Run our first app on Emulator

  • رفع اشکال با RESTART Bug fixed with a RESTART

  • مروری بر پروژه استارتر Overview of the starter project

  • تابع Composable چیست What is a Composable Function

  • تابع Preview Composable The Preview Composable Function

  • ایجاد Composable خودمان Create our own Composable

  • تغییر اندازه و رنگ متن Change Text size and Color

  • نمایش تصویر روی صفحه Show Image on Screen

  • تغییر اندازه تصویر با Modifier Resize the Image with Modifier

طرح بندی Composables Layout Composables

  • مروری بر بخش - آنچه خواهید آموخت Section Overview - What you will learn

  • طرح بندی Composable - ستون Layout Composable - Column

  • طرح بندی Composable - ردیف Layout Composable - Row

  • طرح بندی Composable - جعبه Layout Composable - Box

  • اولین کار - ساخت یک طرح صفحه پروفایل First task - Build a Profile Page layout

  • راه حل طرح صفحه پروفایل Profile Page layout solution

  • Weight Modifier - طرح بندی خود را واکنش گرا کنید The Weight Modifier - Make your layout responsive

  • تمرین روی وزن modifier Exercise on weight modifier

  • راه حل تمرین روی وزن modifier Exercise Solution on weight modifier

  • Lazy Column - نمایش لیست افراد Lazy Column - Show a person list

  • ستون در مقابل LazyColumn Column vs LazyColumn

  • Material Design چیست What is Material Design

  • کامپوننت های Material - Scaffold Appbar و دکمه شناور Material Components - Scaffold Appbar and Floating Action Button

  • دانلود پروژه Download Project

وضعیت در Compose State in Compose

  • مروری بر بخش - آنچه خواهید آموخت Section Overview - What you will learn

  • آماده سازی پروژه برنامه شمارنده Prepare the Counter App Project

  • دستوری در مقابل اظهاری Imperative vs Declarative

  • توابع MutableStateOf و Remember MutableStateOf and Remember Functions

  • تمرین - یک برنامه ساده گالری عکس Excercise-A simple Photo Gallery App

  • مروری بر ماشین حساب BMI Bmi Calculator Overview

  • دریافت ورودی با استفاده از TextField composable Take Input using TextField composable

  • ماشین حساب BMI - فیلد متنی قابل استفاده مجدد Bmi Calculator - Reusable Text Field

  • ماشین حساب BMI - استفاده از فرمول BMI Calculator - Use the formula

  • ماشین حساب BMI - نمایش جدول مرجع BMI Calculator - Show the reference table

  • ماشین حساب BMI - نهایی کردن برنامه BMI Calculator - Finalize the App

  • تغییر پیکربندی و از دست دادن وضعیت Configuration Change and State Loss

  • چرخه حیات Activity Activity Lifecycle

  • متدهای چرخه حیات در عمل Lifecycle methods in action

  • View Model State Holder - مقدمه ای View Model State Holder - An Introduction

  • ایجاد اولین View Model خود Create your first View Model

  • اضافه کردن وابستگی ViewModel Compose Add ViewModel Compose Dependency

  • تغییر برنامه شمارنده با ViewModel Modify Counter App with ViewModel

  • تغییر برنامه ماشین حساب BMI با ViewModel Modify BMI Calculator App with ViewModel

  • اصل معماری - هدایت رابط کاربری از مدل ها Architecture Principle - Drive UI from Models

  • اصل معماری - منبع واحد حقیقت Architecture Principle - Single Source of Truth

  • دانلود منبع Download Resource

همزمانی در کاتلین Concurrency in Kotlin

  • مروری بر بخش - آنچه خواهید آموخت Section Overview - What you will learn

  • کد همزمان چیست What is Synchronous Code

  • تابع تعلیق delay The delay suspend function

  • تابع runBlocking - مسدود کردن رشته اصلی The runBlocking function - Block the main thread

  • فراخوانی چندین تابع تعلیق Calling multiple suspend functions

  • کد ناهمزمان - استفاده از تابع launch Asynchronous Code - Use of launch function

  • جفت Async - Await Async - Await pair

  • تجزیه موازی Parallel Decomposition

  • مروری بر برنامه تایمر Timer app overview

  • طراحی رابط کاربری برنامه تایمر Timer app UI design

  • برنامه تایمر - معرفی LaunchedEffect Timer app - Introducing LaunchedEffect

پروژه - برنامه هواشناسی Project - Weather App

  • مروری بر بخش - کار با REST Section Overview - Deal with the REST

  • دانلود پروژه کامل Download the full project

  • ایجاد پروژه و اضافه کردن وابستگی ها Create Project and Add Dependencies

  • ایجاد زیر بسته ها و فایل ها Create sub packages and files

  • ایجاد Composable پس زمینه برنامه Create App Background Composable

  • تنظیم فونت سفارشی و تایپوگرافی Setup custom font and typography

  • مروری بر API های هواشناسی Weather APIs overview

  • مقدمه ای مختصر بر API RESTFul A brief introduction to RESTFul API

  • تبدیل JSON به کلاس داده کاتلین Convert JSON to Kotlin Data class

  • ایجاد API سرویس هواشناسی و تعریف متدها Create Weather Service API and define methods

  • مروری بر لایه معماری اندروید Android Architectural Layer overview

  • ایجاد مخزن هواشناسی Create Weather Repository

  • ایجاد View Model و اتصال مخزن Create View Model and connect the repository

  • ایجاد وضعیت رابط کاربری هواشناسی Create Weather UI State

  • رفع اشکال - معرفی کنترل کننده استثناء Coroutine Bug fix - Introducing Coroutine Exception Handler

  • آب و هوای فعلی - نمایش مکان و تاریخ Current Weather - Show location and date

  • استثناء عدم تطابق نوع - از کجا آمده است Type mismatch exception - Where it came from

  • بخش آب و هوای فعلی - نمایش دما و نماد Current Weather Section - Show temperature and icon

  • بخش آب و هوای فعلی - قسمت آخر Current Weather Section - Last part

  • نمایش لیست آب و هوای پیش بینی شده Show Forecast Weather List

  • اضافه کردن وابستگی سرویس مکان Play Add Play Location Service Dependency

  • درخواست مجوز Runtime Request Runtime Permission

  • اجرای برنامه و ارائه مجوز مکان Run app and provide location permission

  • اهمیت نظارت بر وضعیت شبکه Importance of monitoring Network State

  • ایجاد مخزن اتصال Create Connectivity Repository

  • مشاهده Connectivity StateFlow Observe Connectivity StateFlow

  • ایجاد کارخانه View Model Create ViewModel Factory

  • تزریق وابستگی چیست What is Dependency Injection

  • اضافه کردن وابستگی های Hilt به پروژه ما Add Hilt Dependencies to our project

  • تزریق وابستگی به کلاس ها Inject dependency to classes

  • ایجاد Hilt Module و نهایی کردن برنامه Create Hilt Module and finalize app

پروژه - رویدادهای خرید Project - Shopping Events

  • مروری بر بخش - آنچه خواهید آموخت Section overview - What you will learn

  • دانلود پروژه فشرده شده Download the zipped project

  • ایجاد پروژه و اضافه کردن وابستگی های Room Create project and add Room dependencies

  • اضافه کردن وابستگی Hilt Add Hilt Dependency

  • اضافه کردن وابستگی Navigation Compose و Kotlin Serialization Add Navigation Compose and Kotlin Serialization dependency

  • اضافه کردن زیر بسته ها و زیر کلاس Application Add sub packages and Application sub class

  • ایجاد یک Appbar قابل استفاده مجدد Create a Reusable Appbar

  • ایجاد صفحات Create the pages

  • نمایش HomePage با NavController و NavHost Show HomePage with NavController and NavHost

  • تعریف اشیاء مسیر و composable برای هر مقصد Define route objects and composables for each destination

  • پیمایش به یک صفحه جدید Navigate to a new screen

  • ایجاد کلاس های داده Shopping Event و Item Create Shopping Event and Item data classes

  • ایجاد AddEventViewModel و UI States Create AddEventViewModel and UI States

  • اضافه کردن فیلدهای متنی به AddEventPage Add Text Fields to AddEventPage

  • نمایش Date Picker Dialog Show Date Picker Dialog

  • اضافه کردن یک دکمه ذخیره و ایجاد متد saveEvent Add a Save Button and create saveEvent method

  • مروری بر یک پایگاه داده رابطه ای Overview of a Relational Database

  • تعریف Entities برای پایگاه داده Define Entities for Database

  • DAO چیست What is a DAO

  • تعریف DAO ها برای Entities Define DAOs for Entities

  • ایجاد Room Database Create Room Database

  • ایجاد Repositories برای Event و Item Create Repositories for Event and Item

  • ایجاد Hilt Modules و ذخیره اولین Event Create Hilt Modules and Save first Event

  • باز کردن Database Inspector و مشاهده پایگاه داده ما Open Database Inspector and view our Database

  • ایجاد Home View Model و دریافت تمام Events Create Home View Model and get all Events

  • نمایش تمام رویدادها در HomePage Show all events in HomePage

  • انتقال آرگومان ها از HomePage به Details Page Pass arguments from HomePage to Details Page

  • بازیابی آرگومان ها با استفاده از Saved State Handle Retrieve arguments using Saved State Handle

  • ایجاد Event Details UI State و State Flow Create Event Details UI State and State Flow

  • اضافه کردن Items جدید به Event Add new Items to Event

  • مروری بر پرس و جوهای JOIN Overview of JOIN queries

  • نوشتن پرس و جو e LEFT JOIN برای دریافت Event با Items Write e LEFT JOIN query to get Event with the Items

  • اجرای پرس و جو JOIN و دریافت نتیجه به عنوان Map Run the JOIN query and get the result as Map

  • نمایش Items در Event Details Page Show Items in Event Details Page

  • انیمیشن اسکرول به آخرین مورد لیست Animate scroll to last item of the list

  • ایجاد یک List Item قابل ویرایش Create an Editable List Item

  • نمایش List Item قابل ویرایش Show Editable List Item

  • ایجاد Item Details قابل ویرایش Make Item Details Editable

  • به روز رسانی Shopping Item Update Shopping Item

  • تغییر پرس و جو select برای دریافت تمام رویدادهای خرید Modify select query for getting all shopping events

  • Dismissible Item - ایجاد Box State Dismissible Item - Create the Box State

  • ایجاد SwipeToDismissBox UI Create SwipeToDismissBox UI

  • حذف Item با کشیدن انگشت Delete Item by swiping

  • حذف Event با Items توسط Cascading Delete Event with Items by Cascading

نمایش نظرات

آموزش اصول اساسی اندروید کامپوز - ساخت اپلیکیشن اندروید حرفه ای
جزییات دوره
33 hours
169
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
604
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Syed Tanvir Ahmad Syed Tanvir Ahmad

مربی در Udemy