آموزش Bootcamp توسعه برنامه Android 14 2024 - یک نمونه کار بسازید

Android 14 App Development Bootcamp 2024 - Build a portfolio

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: توسعه Android 14 استاد - یادگیری جاوا و کاتلین - کتابخانه پایگاه داده اتاق Jetpack - قطعات - Google Tasks clone توسعه برنامه Android 14 را بیاموزید و یک توسعه دهنده حرفه ای اندروید شوید، به صورت آزاد کار کنید یا ایده برنامه رویایی خود را بسازید برنامه های زیبا، حرفه ای و اندروید را بسازید. یک مبتدی کامل - حتی بدون هیچ تجربه برنامه نویسی قبلی - به یک برنامه نویس واقعی اندروید، شغل خود را تغییر دهید و به عنوان یک برنامه نویس اندروید شغلی پیدا کنید، بسیاری از برنامه های واقعی واقعی را بسازید که به درستی کار می کنند، عالی به نظر می رسند و با بهترین تمرینات در سال 2023 به روز هستند، بیاموزید. جاوا و کاتلین پیش نیازها: رایانه شخصی ویندوزی یا مک با دسترسی به اینترنت اصلاً نیازی به تجربه برنامه نویسی نیست - تسلط کامل به رایانه برای مبتدیان یک مزیت است، از جمله موارد اولیه مانند کپی و چسباندن

توسعه برنامه اندروید در جاوا و کاتلین. از یک مبتدی کامل، ساختن اپلیکیشن های واقعی را بیاموزید، نمونه کارها را در یک دوره مدرن با آخرین بهترین تمرین بسازید! اندروید 14 آماده است!


درباره این دوره

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

*با به دست آوردن پایه ای در XML و جاوا شروع کنید - به Kotlin، Fragments، RecyclerViews و موارد دیگر بروید*

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

*یک دوره آموزشی منحصر به فرد اندروید که یک برنامه درسی کاملاً یکپارچه ارائه می دهد*

بسیاری از دوره‌های اندروید، تعدادی از مفاهیم را به صورت مجزا آموزش می‌دهند. برای مثال ممکن است بخشی در جاوا جدا از سایر بخش‌های «اندروید» ببینید. اما اندروید اینگونه کار نمی کند! Android/Java/XML همگی به شدت در هم تنیده شده‌اند و مهارت‌های ما در همه زمینه‌ها با کسب تسلط در حال توسعه است، پس چرا آنها را به صورت مجزا تجربه کنیم؟

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


درباره من

من در حال حاضر به عنوان مهندس ارشد اندروید برای یک شرکت بزرگ بریتانیایی مشغول به کار هستم، متولد و در حال حاضر در شمال انگلستان زندگی می کنم، اما برنامه نویسی جایی نبود که کارم را شروع کردم.

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

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

بنابراین، به‌عنوان کسی که روزی تصمیم گرفت درست مانند شما در حال حاضر وارد توسعه برنامه‌های اندروید شود، و به‌عنوان یک معلم کاملاً واجد شرایط، موقعیت منحصربه‌فردی دارم تا شما را در مسیر شما برای تبدیل شدن به یک توسعه‌دهنده اندروید راهنمایی کنم. راهی که سرگرم کننده است، با دقت طراحی شده است، جذاب است، هرگز مورد حمایت قرار نمی گیرد، و شما را به همان اندازه که من - و هنوز هم هستم - در مورد یادگیری این مهارت شگفت انگیز هیجان زده می کند!


درباره شما (یا، الزامات دوره!)

این دوره برای شماست اگر:

  • می‌خواهید برنامه‌های Android بسازید

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

  • شما هیچ تجربه برنامه نویسی قبلی ندارید، یا تجربه ای جز یک زبان/پلتفرم دیگر ندارید

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

در رابطه با آنچه که برای شرکت در این دوره نیاز دارید، به دو نکته زیر توجه کنید:

  • تجربه برنامه نویسی مطلقاً صفر مورد نیاز است (اگرچه اگر تجربه ای از برنامه نویسی دارید، خوب است!) - همه چیزهایی را که باید از ابتدا بدانید به شما آموزش داده می شود

  • شما به یک رایانه، یا رایانه شخصی (ویندوز) یا مک، با اتصال اینترنت نیاز دارید



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

شروع شدن Getting Started

  • Android Studio - دانلود و نصب (ویندوز و مک) Android Studio - Download and Install (Windows & Mac)

  • Android Studio - راه اندازی Android Studio - Setup

  • Android Studio - پروژه جدید و اولین نگاه Android Studio - New Project & First Look

  • راه اندازی شبیه ساز/دستگاه مجازی اندروید Setup Emulator / Android Virtual Device

  • اجرای پروژه بر روی یک دستگاه اندروید واقعی Run project on a real Android device

  • تغییراتی در برنامه ایجاد کنید Make some changes to the app

  • بستن پروژه/ایجاد پروژه جدید Closing a project / Creating a new one

*چالش* - ایجاد پروژه های جدید *Challenge* - Creating New Projects

  • *چالش* - برنامه نقل قول انگیزشی *Challenge* - The Motivational Quote App

  • جزئیات چالش Challenge Details

  • راه حل چالش Challenge Solution

مبانی اندروید - قسمت 1: XML و Layouts Android Foundations - Part 1: XML & Layouts

  • فایل های چیدمان و XML Layout Files & XML

  • پوشه و مکان فایل طرح بندی Android 'res' The Android 'res' folder & layout file location

  • درک نحو XML Understanding XML Syntax

  • کار با XML Working with XML

  • برنامه ریزی طرح بندی ماشین حساب BMI (و برخی بیت ها و باب های نهایی!) Planning the BMI Calculator Layout (and some final bits and bobs!)

  • ساخت طرح Building the layout

  • واردات تصاویر Importing images

  • ویژگی های طرح بندی مفید: src، padding، margin، inputType Useful layout attributes: src, padding, margin, inputType

مبانی اندروید - قسمت 2: جاوا Android Foundations - Part 2: Java

  • فایل های جاوا و زبان های برنامه نویسی Java Files & Programming Languages

  • شروع برنامه نویسی: وادار کردن برنامه به انجام کاری Starting to program: making the app do something

  • *مفهوم برنامه نویسی* - متغیرها *Programming Concept* - Variables

  • اولین تمرین کدنویسی شما Your First Coding Exercise

  • اعلان متغیرها Declaring Variables

  • نظرات خود را بیابید: چگونه فایل های جاوا می دانند که در فایل طرح بندی چه چیزی وجود دارد Find your views: how the java files know what's in the layout file

  • شنوندگان کلیک کنید: دکمه ها را کاری کنید Click listeners: make the buttons do something

  • *مفهوم برنامه نویسی* - روش ها *Programming Concept* - Methods

  • روش های نوشتن Writing Methods

  • پارامترهای روش و انواع بازگشت Method Parameters and Return Types

  • سازماندهی کد به روش ها و دامنه متغیر Organising the code into methods & Variable Scope

  • گرفتن مقادیر از نماهای طرح Capturing values from layout Views

  • استفاده از عملگرهای ریاضی برای محاسبه BMI و تبدیل رشته/int Using mathematical operators to calculate BMI & String/int conversions

  • *مفهوم برنامه نویسی* - منطق شرطی (عبارات "IF") *Programming Concept* - Conditional Logic ("IF" statements)

  • عبارات If - Else If If - Else If statements

  • اتمام ماشین حساب BMI Finishing the BMI Calculator

*چالش* - تست فنی توسعه دهندگان جوان - یک برنامه محاسبه بسازید *Challenge* - Junior Developer Tech Test - Make A Calculation App

  • همه چیز را کنار هم بگذارید: برنامه محاسبه ساده خود را ایجاد کنید Put It All Together: Create your own simple calculation app

  • راه حل مبدل اینچ/Codealong Inches Converter Solution / Codealong

فعالیت‌ها، مقاصد و مانیفست اندروید Activities, Intents, & The Android Manifest

  • آشنایی با فعالیت های اندروید Understanding Android Activities

  • ساخت طرح صفحه اصلی، معرفی RelativeLayout Building the home screen layout, introducing RelativeLayout

  • اولین نگاه وابستگی‌های برنامه و build.gradle App Dependencies & build.gradle first look

  • CardView CardView

  • ScrollView ScrollView

  • ایجاد یک فعالیت جدید Creating a new Activity

  • مانیفست اندروید The Android Manifest

  • اهداف - حرکت به یک فعالیت جدید Intents - Moving to a new Activity

  • ListView ListView

  • *مفهوم برنامه نویسی* - آرایه ها *Programming Concept* - Arrays

  • ایجاد آرایه ها Creating Arrays

  • دسترسی به آرایه ها Accessing Arrays

  • * مفهوم برنامه نویسی * - برای حلقه ها *Programming Concept* - For Loops

  • برای حلقه ها For Loops

  • ایجاد آرایه برای ظروف شروع Creating the array for the Starter DIshes

  • ArrayAdapter - تطبیق آرایه ما با Views ArrayAdapter - Adapting our Array into Views

  • *مفهوم برنامه نویسی* - کلاس ها و اشیاء *Programming Concept* - Classes & Objects

  • کلاس های نویسندگی Writing Classes

  • سازندگان Constructors

  • ایجاد کلاس "Dish". Creating the 'Dish' class

  • کار با آرایه "Dish". Working with a 'Dish' Array

  • ایجاد یک کلاس فعالیت جدید از ابتدا - صفحه دوره های اصلی Creating a new Activity class from scratch - Main Courses screen

  • *بازبینی* - Intents، ListViews، Arrays، ArrayAdapters *Review* - Intents, ListViews, Arrays, ArrayAdapters

  • مقاصد ضمنی - انتقال به برنامه دیگر Implicit Intents - Moving to another app

*چالش* - ایجاد فعالیت ها، اهداف و فهرست های جدید *Challenge* - Creating New Activities, Intents, & Lists

  • *چالش* - صفحه نمایش دسرها را اضافه کنید *Challenge* - Add The Desserts Screen

  • جزئیات چالش Challenge Details

  • راه حل بخش بیابان/Codealong Deserts Section Solution / Codealong

RecyclerViews: لیست های فوق العاده قدرتمند RecyclerViews: Super-powered Lists

  • مقدمه ای بر RecyclerViews Introduction to RecyclerViews

  • برنامه نمونه کارها: راه اندازی پروژه و افزودن وابستگی ها Portfolio App: Project setup and adding dependencies

  • افزودن RecyclerView به طرح Adding the RecyclerView to the layout

  • ایجاد طرح بندی آیتم RecyclerView Creating the RecyclerView item layout

  • کلاس "پروژه" را بسازید Make the 'Project' class

  • ایجاد آرایه "پروژه". Creating the 'Project' array

  • Drawable ها را اضافه کنید و از شناسه ها در کد جاوا استفاده کنید Add the Drawables and use the IDs in java code

  • *مفهوم برنامه نویسی* - وراثت *Programming Concept* - Inheritance

  • *مفهوم برنامه نویسی* - روش های لغو *Programming Concept* - Override Methods

  • مقدمه ای بر Abstract و متد 'toString()' Intro to Abstract & the 'toString()' method

  • *مفهوم برنامه نویسی* - کلاس ها و روش های انتزاعی *Programming Concept* - Abstract classes and methods

  • * مفهوم پاداش * - چند شکلی *Bonus Concept* - Polymorphism

  • آداپتور RecyclerView و ViewHolder The RecyclerView Adapter and ViewHolder

  • تکمیل ProjectsAdapter و ProjectsViewHolder Completing the ProjectsAdapter and ProjectsViewHolder

  • لمس های پایانی قسمت 1 - حاشیه مورد، تصویر 'scaleType' Finishing Touches Part 1 - Item margin, Image 'scaleType'

  • کارهای پایانی قسمت 2 - شعاع گوشه کارت، ارتفاع، حالت دادن به متن Finishing Touches Part 2 - Card Corner Radius, Elevation, Text Styling

  • فضای نام "ابزار" در فایل های طرح بندی The 'tools' namespace in the layout files

*چالش* - برنامه ویترین لیست زیبا - لیست سطل خود را بسازید *Challenge* - Beautiful List Showcase App - Make Your Own Bucket List

  • *چالش* - برنامه فهرست سطل *Challenge* - The Bucket List App

  • جزئیات چالش Challenge Details

  • راه حل بخش 1: LinearLayout 'weight'، 'View' ویجت، قابل ترسیم گرادیان Solution part 1: LinearLayout 'weight', 'View' widget, gradient drawable

  • راه حل بخش 2: نوار رتبه بندی، اولین نگاه به سبک، نوع متغیر اعشاری شناور Solution part 2: RatingBar, 'style' first look, 'float' decimal variable type

  • راه حل قسمت 3: "float" در مقابل "double"، حاشیه نویسی @DrawableRes، بیت های نهایی Solution part 3: 'float' vs 'double', @DrawableRes annotation, final bits

Kotlin قسمت 1: بررسی اجمالی Kotlin، متغیرها، امنیت پوچ، اشکال زدایی Kotlin Part 1: Kotlin Overview, Variables, Null Safety, Debugging

  • کاتلین - نمای کلی بخش Kotlin - Section Overview

  • ایجاد یک پروژه جدید Kotlin/ابتدا به کد Kotlin نگاه کنید Creating a new Kotlin Project / First look at Kotlin code

  • چرا کاتلین؟ Why Kotlin?

  • *بنیادهای کاتلین* - متغیرها *Kotlin Foundations* - Variables

  • برنامه خود تبلیغی - ساخت طرح بندی فرم Self-Promo App - Building the form layout

  • TextInputLayout و TextInputEditText TextInputLayout & TextInputEditText

  • مشاهده مراجع در Kotlin & Easier Button ClickListeners View references in Kotlin & Easier Button ClickListeners

  • *مفهوم برنامه نویسی* - پوچ *Programming Concept* - Null

  • * پایه های کاتلین * - ایمنی پوچ *Kotlin Foundations* - Null Safety

  • اعلان متغیرهای کلاس/خواص در کاتلین Declaring Class Variables/Properties in Kotlin

  • Logcat Logcat

  • اشکال زدایی Debugging

Kotlin قسمت 2: چیزهای بیشتر، توابع، کلاس‌ها، انتقال داده به فعالیت‌ها Kotlin Part 2: More Goodies, Functions, Classes, Passing Data To Activities

  • *مهم!!* - نحوه رفع مشکل با آموزش بعدی *IMPORTANT!!* - How to fix the issue with next tutorial

  • Kotlinx - دیگر findViewById() وجود ندارد Kotlinx - No more findViewById()

  • الگوهای رشته کاتلین Kotlin String Templates

  • * پایه های کاتلین * - توابع *Kotlin Foundations* - Functions

  • * مفهوم برنامه نویسی * - اصلاح کننده های سطح دسترسی *Programming Concept* - Access Level Modifiers

  • چرا اصلاح کننده های سطح دسترسی مهم هستند Why access level modifiers are important

  • افزودن فعالیت پیش نمایش پیام Adding the Message Preview Activity

  • انتقال داده به یک فعالیت جدید Passing data to a new Activity

  • Spinners & Kotlin Arrays Spinners & Kotlin Arrays

  • * پایه های کاتلین * - کلاس ها، اشیاء و سازندگان *Kotlin Foundations* - Classes, Objects & Constructors

  • * پایه های کاتلین * - کلاس های داده *Kotlin Foundations* - Data Classes

  • ایجاد کلاس Message Creating the Message class

  • *مفهوم برنامه نویسی* - سریال سازی *Programming Concept* - Serialization

  • بازیابی یک شیء سریالی شده در یک فعالیت جدید و مقدمه ای برای "Type Casting" Retrieving a Serialized Object in a new Activity & Intro to 'Type Casting'

  • نمایش پیام ما - گزاره‌های رشته‌های خام Kotlin و One-Liner If Displaying our Message - Kotlin Raw Strings and One-Liner If Statements

  • متغیرهای 'lateinit' 'lateinit' variables

  • هدف ضمنی - ارسال یک پیام متنی Implicit Intent - Send a Text Message

  • منابع رشته ای String Resources

  • محلی سازی - مدیریت زبان های مختلف Localization - Handling Different Languages

  • منابع سبک و رنگ - تغییر رنگ های تم برنامه Style & Color Resources - Changing the app theme colors

*چالش* - ساخت فرم ها *Challenge* - Building Forms

  • فرم های ساختمان - بررسی اجمالی چالش Building Forms - Challenge Overview

  • فرم های ساختمان - جزئیات چالش Building Forms - Challenge Details

  • راه حل فرم های ساختمان 1: راه اندازی پروژه، طرح بندی فرم ثبت نام Building Forms Solution 1: Project Setup, Registration Form Layout

  • راه حل فرم های ساختمان 2: کد فعالیت ثبت Building Forms Solution 2: Registration Activity Code

  • راه حل Building Forms 3: Summary Screen Building Forms Solution 3: Summary Screen

  • سبک سازی فرم های ساختمان 1: حذف نوار ابزار، پس زمینه، تاریکی در مقابل روشن Building Forms Styling 1: Remove the Toolbar, Backgrounds, Dark vs Light

  • استایل سازی فرم های ساختمان 2: صفحه ثبت نام، فونت گسترده برنامه، "جعبه مشخص" Building Forms Styling 2: Registration screen, app-wide font, 'Outlined Box'

  • شکل‌گیری فرم‌های ساختمان 3: نمایش خلاصه، کارهای تکمیلی، استخراج رشته‌ها Building Forms Styling 3: Summary screen, finishing touches, extracting Strings

قطعات و نوار پیمایش پایین Fragments & Bottom Navigation Bar

  • قطعات و نوار پیمایش پایین - نمای کلی بخش Fragments & Bottom Navigation Bar - Section Overview

  • کاوش الگوی برنامه پیمایش پایین Exploring the Bottom Navigation App Template

  • رکورد نگهدار - راه اندازی پروژه Record Keeper - Project Setup

  • ConstraintLayout 1 - اضافه کردن محدودیت ها ConstraintLayout 1 - Adding Constraints

  • ConstraintLayout 2 - محدودیت های مخالف ConstraintLayout 2 - Opposing Constraints

  • ConstraintLayout 3 - مطابقت با محدودیت ها و درصد ارتفاع/عرض ConstraintLayout 3 - Match Constraints & Percentage Height/Width

  • افزودن BottomNavigationView و Fragment Container در طرح Adding a BottomNavigationView and Fragment Container in the layout

  • دارایی های برداری - اضافه کردن نمادها به برنامه ما Vector Assets - Adding icons to our app

  • فایل های منبع منو - افزودن موارد به BottomNavigationView Menu Resource Files - Adding items to a BottomNavigationView

  • Kotlinx Synthetic منسوخ شد! (و تاریخچه مختصری از یافتن Views در اندروید) Kotlinx Synthetic Deprecated! (And a brief history of finding Views on Android)

  • ViewBinding - بهترین راه فعلی برای یافتن Views ViewBinding - The current best way to find Views

  • مقدمه ای بر Fragments Introduction to Fragments

  • تنظیم پروژه ما برای Fragments و فایل build.gradle پروژه توضیح داده شده است Setting our project up for Fragments, & the project build.gradle file explained

  • اضافه کردن اولین قطعه ما Adding our first fragment

  • تعویض قطعات Switching Fragments

  • * مفهوم برنامه نویسی * - رابط ها *Programming Concept* - Interfaces

  • *مفهوم برنامه نویسی* - پیاده سازی رابط ها *Programming Concept* - Implementing Interfaces

  • روش های مختلف پیاده سازی رابط و کلاس های ناشناس Different ways of implementing an interface, & Anonymous Classes

  • پیاده سازی OnNavigationItemSelectedListener Implementing the OnNavigationItemSelectedListener

  • Fragment Layout 1 - بخش سرصفحه و ویژگی "contentDescription". Fragment Layout 1 - Header section & the 'contentDescription' attribute

  • Fragment Layout 2 - فیلدهای "Record" و استفاده از ویژگی های تم در فایل های طرح بندی Fragment Layout 2 - The 'Record' fields & using theme attributes in layout files

  • کپی کردن فایل های طرح بندی Copying layout files

  • Viewbinding در Fragments Viewbinding in Fragments

  • تنظیم شنوندگان کلیک و «زمینه» در Fragments Setting up the click listeners, and 'context' in Fragments

  • عناوین نوار ابزار پویا 'Dynamic' Toolbar Titles

  • * چالش کوچک * - بخش دوچرخه سواری را کامل کنید و خودتان صفحه را ویرایش کنید *Mini Challenge* - Complete the Cycling Fragment and Edit Screen yourself

  • *مفهوم برنامه‌نویسی* - بیان "وقتی". *Progamming Concept* - The 'When' Expression

  • *کارگاه* - تغییر بیانیه ها *Workshop* - Switch Statements

  • *کارگاه* - When Expression قسمت 1 *Workshop* - When Expression part 1

  • *کارگاه* - When Expression قسمت 2 *Workshop* - When Expression part 2

  • اعمال "زمان" در پروژه ما Applying 'when' to our project

  • کد "منسوخ شده". 'Deprecated' code

  • منوی گزینه ها Options Menu

  • پاسخ به کلیک های آیتم های منو Responding to menu item clicks

چرخه حیات فعالیت The Activity Lifecycle

  • چرخه حیات فعالیت - نمای کلی بخش The Activity Lifecycle - Section Overview

  • چرخه حیات فعالیت چیست؟ What is the Activity Lifecycle?

  • onCreate و onDestroy - و نحوه "پایان" یک فعالیت onCreate and onDestroy - and how to "finish" an Activity

  • onStart و onStop onStart and onStop

  • onResume و onPause onResume and onPause

  • روش‌های چرخه حیات - موارد استفاده رایج Lifecycle Methods - Common Use Cases

  • استفاده از مورد 1: تازه کردن داده ها Use case 1: Refreshing Data

  • در راه اندازی مجدد onRestart

  • مورد استفاده 2: توقف موقت فعالیت برنامه Use case 2: Pausing app activity

  • استفاده از مورد 3: پاکسازی در هنگام خروج (خطر onDestroy، بهینه سازی واردات) Use Case 3: Cleaning up on exit (the danger of onDestroy, optimizing imports)

  • onDestroy در عمل، و ذخیره اولین فایل ما! onDestroy in practice, and saving our first file!

  • *مفهوم برنامه نویسی* - پاسخ به تماس *Programming Concept* - Callbacks

  • *کارگاه* - پاسخ به تماس *Workshop* - Callbacks

  • قطع کردن دکمه برگشت - onBackPressed Intercepting the Back Button - onBackPressed

  • دست زدن به دکمه برگشت، روش جدیدتر/یک مشکل در راهنمایی Back Button handling, newer method / A snag in the guidance

  • AlertDialog: مقدمه و اصول AlertDialog: Introduction, and basics

  • AlertDialog: دکمه ها AlertDialog: Buttons

  • AlertDialog: نمایش های سفارشی AlertDialog: Custom Views

  • چرخش دستگاه Device Rotation

  • *مفهوم برنامه نویسی* - ذخیره سازی کلید ارزش *Programming Concept* - Key-Value Storage

  • SavedInstanceState SavedInstanceState

  • *مفهوم برنامه نویسی* - نقشه ها *Programming Concept* - Maps

  • *کارگاه* - نقشه ها قسمت 1 *Workshop* - Maps part 1

  • *کارگاه* - نقشه ها قسمت 2 *Workshop* - Maps part 2

  • مقدمه ای بر چرخه حیات قطعه Introduction to The Fragment Lifecycle

  • راه اندازی زمین بازی ما برای قطعات Setting up our Playground for Fragments

  • چرخه حیات قطعه در عمل The Fragment Lifecycle in Action

  • onAttach و onDetach - راهی که یک Fragment می تواند به یک Activity دسترسی پیدا کند onAttach and onDetach - a way that a Fragment can access an Activity

SharedPreferences SharedPreferences

  • SharedPreferences - نمای کلی بخش SharedPreferences - Section Overview

  • انتقال فایل ها به بسته های جدید - سازماندهی کد ما Moving files into new packages - Keeping our code organised

  • ویرایش فعالیت ضبط - ساخت طرح Edit Record Activity - Building the layout

  • مقدمه ای بر SharedPreferences Introduction to SharedPreferences

  • انواع SharedPreferences Types of SharedPreferences

  • ذخیره سوابق ما - قرار دادن مقادیر در SharedPreferences Saving our records - Putting values into SharedPreferences

  • بازیابی سوابق ما - دریافت مقادیر از SharedPreferences Restoring our records - Getting values from SharedPreferences

  • اشکال زدایی یک مشکل چرخه زندگی - نمایش به روز رسانی رکورد Debugging a Lifecycle issue - Displaying record updates

  • بهبود UX ویرایش رکورد (تجربه کاربر) Improving the Edit Record UX (User Experience)

  • مشکل مقداردهی اولیه - مشکل فیلدهایی که به "Context" نیاز دارند... Property initialization issue - The problem with fields that need 'Context'...

  • *پایه های کاتلین* - Lazy Initialization قسمت 1 *Kotlin Foundations* - Lazy Initialization Part 1

  • *پایه های Kotlin* - Lazy Initialization قسمت 2 - موارد استفاده رایج *Kotlin Foundations* - Lazy Initialization Part 2 - Common Use Cases

  • پاک کردن رکورد - حذف مقادیر از SharedPreferences Clearing a record - Removing values from SharedPreferences

  • Refactoring به یک EditRecordActivity Refactoring into a single EditRecordActivity

  • *مفهوم برنامه نویسی* - بازیگری *Programming Concept* - Casting

  • دریافت و ارسال داده های صفحه ما Receiving and Casting our ScreenData

  • با استفاده از ScreenData Using the ScreenData

  • Refactoring - ارسال شی ScreenData جدید Refactoring - Passing the new ScreenData object

  • * راه حل چالش کوچک * - نمایش رکوردهای دوچرخه سواری *Mini Challenge Solution* - Displaying the Cycling Records

  • *پاداش* - مدیریت روش منسوخ getSerializableExtra *Bonus* - Handling the deprecated getSerializableExtra method

  • پاک کردن فایل های SharedPreference Clearing SharedPreference files

  • ارائه گفتگوی تایید Providing a confirmation dialog

  • اسنک بار Snackbars

  • *بنیادهای کاتلین* - ثابت *Kotlin Foundations* - Constants

  • استخراج برخی از ثابت ها - مقدمه ای بر مقادیر و توابع "سطح بالا". Extracting some constants - Introduction to 'Top Level' values and functions.

  • *مفهوم برنامه نویسی* - ایستا *Programming Concept* - Static

  • *بنیادهای کاتلین* - اشیاء نامگذاری شده *Kotlin Foundations* - Named Objects

  • *بنیادهای کاتلین* - شیء همراه *Kotlin Foundations* - Companion Object

  • تبدیل ثابت های ما به اشیاء همراه Refactoring our constants into companion objects

  • آیا باگ احتمالی را متوجه شدید؟! Did you spot the potential bug?!

  • پشته Activity Back Stack و "Launch Modes" The Activity Back Stack, and "Launch Modes"

  • تشخیص زمانی که کاربر "فلش بالا" را فشار می دهد Detecting when a user presses the "Up Arrow"

  • تم روشن و تاریک Light & Dark Theme

  • تعریف «سبک ها» Defining 'Styles'

  • نمادهای برنامه App Icons

*چالش* - ViewPagers *Challenge* - ViewPagers

  • ViewPagers - بررسی اجمالی چالش ViewPagers - Challenge Overview

  • Codealong - راه‌اندازی پروژه Android 14 و Material 3 Codealong - Android 14 & Material 3 Project Setup

  • Codealong - پیاده سازی ViewPager2 Codealong - Implementing ViewPager2

  • Codealong - اضافه کردن TabLayout Codealong - Adding a TabLayout

  • Codealong - طرح‌بندی یادآوری‌ها/وراثت سبک Codealong - Reminders Layout / Style inheritance

  • Codealong - نمایش و ذخیره یادآورها Codealong - Displaying & Saving the Reminders

  • Codealong - سبک دادن به برنامه یادآوری Codealong - Styling the Reminders app

پایگاه های داده و "اتاق" Databases & 'Room'

  • پایگاه داده و "اتاق" - نمای کلی بخش Databases & 'Room' - Section Overview

  • Project Setup - برنامه Get It Done Project Setup - Get It Done app

  • نوار ابزار سفارشی Custom Toolbars

  • AppBarLayout AppBarLayout

  • راه اندازی Tasks Fragment و ViewPager Setting up the Tasks Fragment and ViewPager

  • دکمه اکشن شناور Floating Action Button

  • پایگاه داده چیست؟ What is a Database?

  • پایگاه های داده رابطه ای Relational Databases

  • *مفهوم برنامه نویسی* - CRUD *Programming Concept* - CRUD

  • SQL - طرحواره SQL - The Schema

  • SQL - ایجاد جدول - تهی و انواع داده SQL - Create Table - Null, and Data Types

  • SQL - ایجاد جدول - کلید اصلی و منحصر به فرد SQL - Create Table - Primary Key and Unique

  • راه اندازی اتاق Android - KSP و حاشیه نویسی Android Room Setup - KSP and Annotations

  • اتاق - نهادها Room - Entities

  • اتاق - کلاس پایگاه داده (و اولین نگاه به کد تولید شده) Room - The Database Class (and a first look at the generated code)

  • *مبانی کاتلین* - آرگومان های پیش فرض *Kotlin Foundations* - Default Arguments

  • *بنیادهای کاتلین* - آرگومان های نامگذاری شده *Kotlin Foundations* - Named Arguments

  • SQL - درج (ایجاد) SQL - Insert (Create)

  • SQL - انتخاب (خواندن) SQL - Select (Read)

  • SQL - به روز رسانی SQL - Update

  • SQL - حذف SQL - Delete

  • اتاق - شی دسترسی به داده (DAO) Room - Data Access Object (DAO)

  • نقشه‌بردارهای شیء-رابطه‌ای (ORM) Object-Relational Mappers (ORMs)

  • ایجاد پایگاه داده Creating the Database

  • تلاش برای دسترسی به پایگاه داده Trying to Access the Database

  • *مفهوم برنامه نویسی* - موضوعات *Programming Concept* - Threads

  • ایجاد یک موضوع Creating a Thread

  • به روز رسانی UI از یک موضوع Updating the UI from a Thread

  • بازرس پایگاه داده Database Inspector

  • BottomSheetDialog BottomSheetDialog

  • حالت دادن به گفتگوی افزودن وظیفه Styling the Add Task Dialog

  • اتمام گفتگوی افزودن وظیفه و ذخیره وظایف در پایگاه داده Finishing the Add Task Dialog and Saving Tasks to Database

  • وظایف RecyclerView - چیدمان و آماده سازی Tasks RecyclerView - Layout and Preparation

  • RecyclerViewAdapter - در Kotlin! RecyclerViewAdapter - In Kotlin!

  • نمایش وظایف پایگاه داده Displaying the Database Tasks

  • *مفهوم برنامه نویسی* - Singleton *Programming Concept* - Singleton

  • ساخت پایگاه داده به صورت تکی Making the Database a Singleton

  • در حال تازه کردن لیست وظایف Refreshing the Tasks list

  • طرح بندی آیتم وظیفه Task Item Layout

  • انتخابگرهای قابل ترسیم Drawable Selectors

  • تغییر پایگاه داده - مهاجرت های مخرب Altering the Database - Destructive Migrations

  • مدیریت تعاملات RecyclerView و شنوندگان چک باکس Handling RecyclerView Interactions, & Checkbox Listeners

  • *به‌روزرسانی* - رابط کاربری جدید Android Studio (Android Iguana) *Update* - New Android Studio UI (Android Iguana)

  • علامت‌گذاری کارها به‌عنوان تکمیل‌شده (متن Strike-Through) Marking tasks as completed (Strike-Through text)

  • تازه کردن وظایف Refreshing the tasks

  • Refactor آداپتور (برای بهبود عملکرد) Refactor the Adapter (to improve performance)

  • درک RecyclerView ViewHolders - رفع اشکال Strike-Through Understanding RecyclerView ViewHolders - Fixing the Strike-Through Bug

  • رفع اشکال حلقه بی نهایت Fixing the infinite loop bug

  • مرتب سازی وظایف (انتقال وظایف کامل به پایین) Sorting Tasks (Moving complete tasks to bottom)

نمایش نظرات

آموزش Bootcamp توسعه برنامه Android 14 2024 - یک نمونه کار بسازید
جزییات دوره
44.5 hours
268
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
8,740
4.7 از 5
دارد
دارد
دارد
Vin Norman
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar