آموزش Masterclass توسعه برنامه اندروید با استفاده از Kotlin

Android App Development Masterclass using Kotlin

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: توسعه برنامه اندروید Kotlin را بیاموزید و یک توسعه دهنده اندروید شوید. شامل آموزش کاتلین و فیلم های آموزشی اندروید، توسعه برنامه اصلی اندروید و مهارت های کاتلین برای ساخت برنامه های واقعی اندروید را بیاموزید. با نحوه هدف‌گیری نسخه‌های فعلی و قدیمی‌تر Android هنگام نوشتن برنامه‌های خود آشنا شوید. با نحوه ایجاد برنامه های اندروید با استفاده از Kotlin آشنا شوید. بتوانید برای نقش های توسعه برنامه اندروید درخواست دهید. پیش نیازها: یک کامپیوتر ویندوزی، یک مک یا یک ماشین لینوکس به طوری که ابزار رایگان گوگل اندروید استودیو را می توان دانلود و نصب کرد (دستورالعمل های کامل موجود است). ذهنی باز برای یادگیری چیزهای جدید و هیجان انگیز که ممکن است در آینده شغلی شما تفاوت بزرگی ایجاد کند. هر چیز دیگری که برای نوشتن برنامه برای Android 8 Oreo با Kotlin لازم است قبلاً در دوره گنجانده شده است.

در این دوره چه چیزی به دست می آورید؟

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

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

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

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

این دوره با استفاده از ترکیبی از ویدئو، اسلاید و نمودار ارائه می‌شود که همه برای آموزش هر آنچه که باید بدانید طراحی شده‌اند.

در اینجا چیزی است که فقط یک دانش آموز در مورد این دوره فکر می کند.

"اگر به فکر یادگیری نحوه توسعه یک برنامه اندروید هستید، باید این دوره را انجام دهید. این دوره جامع است و جنبه های زیادی از برنامه نویسی یک برنامه اندرویدی را پوشش می دهد. بهترین بخش این است که تیم به شما توضیح می دهد و به شما یاد می دهد که چگونه یک توسعه‌دهنده مستقل شوید.    از زمان تکمیل این دوره، من برنامه خود را ادامه داده و توسعه داده‌ام، که اکنون در فروشگاه Google Play منتشر شده است! توسعه یک برنامه صبر می‌خواهد، و قطعاً ارزش آن را دارد که تمام مطالب این دوره را مرور کنید. " - دنیل لی

آیا باید برنامه‌های Android بنویسید که فقط آخرین نسخه Android را هدف قرار می‌دهند؟

اگر iPhone یا iPad دارید، احتمال اینکه هر سال به آخرین نسخه iOS به‌روزرسانی می‌کنید زیاد است - اکثر کاربران این کار را انجام می‌دهند.

وضعیت با Android کاملاً متفاوت است. تنها درصد نسبتا کمی از کاربران Android سالانه تلفن های خود را به روز می کنند.

اگر برنامه‌های خود را طوری بنویسید که فقط از آخرین نسخه Android پشتیبانی کند، مطمئن خواهید شد که ۹۵٪ از کاربران بالقوه شما هرگز برنامه شما را نخواهند دید. فروشگاه برنامه Google فقط برنامه‌هایی را نشان می‌دهد که یک دستگاه اندرویدی کاربران می‌تواند اجرا کند، بنابراین اگر دستگاه آن‌ها آخرین نسخه اندروید را اجرا نمی‌کند، حتی نمی‌توانند برنامه شما را در فروشگاه برنامه Google Play پیدا کنند!

چگونه مطمئن می شوید که برنامه شما نسخه های قدیمی اندروید را هدف قرار می دهد؟

توسعه Android کمتر به این است که مطمئن شوید برنامه‌هایی را ایجاد می‌کنید که با آخرین نسخه Android کار می‌کنند، و بیشتر در مورد اطمینان از کارکرد برنامه‌های شما با هر نسخه از Android که کاربران شما اجرا می‌کنند، است.

Google از این مشکل آگاه است و چیزی به نام کتابخانه AppCompat دارد. راهی برای اطمینان از کارکرد برنامه‌هایتان در دستگاه‌های قدیمی‌تر.

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

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

آیا این بدان معناست که برنامه‌های شما فقط می‌توانند از ویژگی‌های نسخه‌های واقعا قدیمی Android استفاده کنند؟

نه اینطور نیست. کتابخانه AppCompat به طور مداوم توسط گوگل به روز می شود. آنها به عقب برمی‌گردند و ویژگی‌هایی را به کتابخانه اضافه می‌کنند که به دستگاه‌های Android قدیمی اجازه می‌دهد به ویژگی‌های جدیدتر Android دسترسی داشته باشند.

اما دوباره، این به طور پیش فرض روشن نیست. شما باید برنامه‌های Android خود را به روشی خاص ایجاد و بنویسید تا برنامه Android شما بتواند برای نسخه‌های فعلی و قدیمی‌تر Android به درستی کار کند.

آیا باید کاتلین را یاد بگیرید؟

اکنون که Google به شدت برای توسعه‌دهندگان اندروید تلاش می‌کند تا از Kotlin استفاده کنند، شاهد تغییر چشمگیر به Kotlin هستیم - این وضعیت مشابه وضعیت iOS چند سال پیش با Objective-C است که اپل Swift را منتشر کرد.

چند سال به جلو بروید و همه از Swift استفاده می کنند. این اتفاق با توسعه برنامه اندروید شروع شده است. برنامه‌نویس‌هایی که قبلاً از جاوا استفاده می‌کردند، به Kotlin تغییر وضعیت می‌دهند. می‌توانید ببینید چرا Google می‌خواهد این اتفاق بیفتد. آنها بارها با Oracle (صاحبان جاوا) در رابطه با اختلاف بر سر استفاده از زبان جاوا در دادگاه بوده اند.

Google از توسعه‌دهندگان می‌خواهد که Kotlin را اتخاذ کنند تا دیگر نگران جاوا نباشند.

کنفرانس اخیر Google I/O عمدتاً نمونه‌های کد Kotlin را نشان می‌دهد. می توانید ببینید به کجا می رویم. Kotlin آینده توسعه برنامه اندروید است.

به‌زودی تعداد کمی از توسعه‌دهندگان جاوا برنامه‌های Android را خواهند نوشت - آنها از Kotlin استفاده خواهند کرد.

خبر خوب این است که ما آموزش کاتلین کاملی را که از ابتدا با دوره نوشتیم همراه کرده ایم. بنابراین ما نه تنها در این دوره از Kotlin استفاده می‌کنیم (آموزش بهترین روش‌ها در طول مسیر)، بلکه یک آموزش کامل Kotlin را نیز در نظر می‌گیریم. در این دوره نحوه استفاده از زبان Kotlin را خواهید آموخت.

این چیزی است که در این دوره یاد خواهید گرفت:

·      برنامه‌هایی را برای آخرین نسخه Android ایجاد کنید که روی دستگاه‌های Android قدیمی‌تر دارای نسخه‌های قدیمی‌تر سیستم‌عامل Android نیز کار می‌کنند.

·      نرم افزار (رایگان) لازم را دانلود، نصب و پیکربندی کنید.

·      اولین برنامه خود را ایجاد کنید.

·      طیف وسیعی از برنامه‌ها را بسازید که جنبه‌های کلیدی چارچوب Android را نشان می‌دهند.

·      برنامه‌های خود را روی شبیه‌سازها یا یک تلفن یا رایانه لوحی Android واقعی آزمایش کنید.

·      برنامه نویسی Kotlin را یاد خواهید گرفت زیرا Google در حال پیشنهاد و فشار برای پذیرش Kotlin برای توسعه برنامه Android است. شامل ویدیوهای آموزشی Kotlin است که شما را به سرعت بالا می برد.

·      مطمئن شوید که برنامه‌هایتان با نسخه‌های Android فعلی و قدیمی‌تر در تلفن‌ها و رایانه‌های لوحی کار می‌کنند.

·      از Android Studio 3.2، جدیدترین نسخه ابزار برتر Android Google استفاده کنید.

·      نحوه استفاده از پایگاه‌های داده، سرویس‌های وب و حتی استفاده از برنامه‌های خود را برای صحبت کردن بیاموزید!

·      برای ایجاد صفحه نمایش «کشیدن و رها کردن»، طرح‌بندی جدید محدودیت را بدانید.

·      از کتابخانه های قدرتمند کد برای پخش ویدیوها، دانلود داده های وب سایت، دستکاری تصاویر و بسیاری موارد دیگر استفاده کنید!

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

این دوره به‌طور مداوم به‌روز می‌شود و بهبود می‌یابد، و به طور کامل با پیشرفت آن پشتیبانی می‌شود.

با تعداد زیادی دوره، فقط تنظیم شده و فراموش می شود. اما نه با این یکی! ما یک سابقه اثبات شده در به روز رسانی و افزودن مداوم محتوای جدید داریم. به عنوان مثال دوره جاوا Masterclass Tim است که اکنون دارای 77 ساعت محتوا و تعداد زیادی است و 260000 دانش آموز از آن بهره برده اند.

و اگر در مورد دوره شک دارید، از نظرات درخشان دانش‌آموزان در این صفحه شگفت زده شوید.

چه چیز دیگری یاد خواهید گرفت؟

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

برای تبدیل شدن به یک برنامه‌نویس موفق Android، باید بدانید که چرا روی آن دکمه کلیک می‌کنید و سیستم عامل Android چگونه کار می‌کند و Android SDK و Framework چگونه کار می‌کند.

اگر واقعاً درک می کنید که چیزی چگونه کار می کند، به این معنی است که می توانید برنامه های با کیفیت بهتری تولید کنید که اشکالات کمتری دارند.

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

این دوره برای شما طراحی شده است که می توانید آن را دنبال کنید، اما سپس اطلاعاتی را که آموخته اید در برنامه های خود اعمال کنید. برنامه ها.

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

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

مهمتر این است که دوره های ما به دانش آموزان مهارت های زندگی واقعی مورد نیاز برای دستیابی به مشاغل مورد تقاضا یا افزایش مهارت های برنامه نویسی شما را آموزش می دهند.

این دوره را امروز با خیال راحت بگذرانید و بدانید که به تازگی بهترین دوره آموزشی Android Kotlin را در Udemy پیدا کرده اید! معطل نکن هر دقیقه که Android را یاد نمی‌گیرید، فرصتی از دست رفته برای آن شغل عالی و پردرآمد است.

روی دکمه خرید همین حالا کلیک کنید و شروع به یادگیری کنید. دنیا به برنامه های جدید شما نیاز دارد!


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

مقدمه و اطلاعات دوره Introduction and Course Information

  • معرفی Introduction

  • رابط Udemy The Udemy Interface

  • مقدمه ای بر اندروید Introduction to Android

  • سوالات متداول FAQ

دانلود و نصب ابزارهای لازم Downloading and Installing the Necessary Tools

  • ویندوز - اندروید استودیو را نصب کنید Windows - Install Android Studio

  • مک - اندروید استودیو را نصب کنید Mac - Install Android Studio

  • لینوکس - اندروید استودیو را نصب کنید Linux - Install Android Studio

  • Android SDK را در هر سه پلتفرم پیکربندی کنید Configure Android SDK on all Three Platforms

  • تنظیمات اندروید استودیو Android Studio Settings

  • VT-X را در بایوس فعال کنید Enable VT-X in BIOS

برنامه اندروید Hello World Hello World Android App

  • به سوالات شغلی برنامه نویسی شما پاسخ داده شد Your Programming Careers Questions Answered

  • دسترسی به پرسش و پاسخ شغلی برنامه نویسی Access to Programming Career Q&A

  • معرفی Introduction

  • قالب های اندروید استودیو Android Studio Templates

  • پرسش‌های متداول: الگوها در Android Studio نسخه 3.6 و بالاتر FAQ: Templates in Android Studio 3.6 and later

  • بیشتر در مورد قالب های اندروید More on Android Templates

  • سلام دنیا Hello World

  • گشت و گذار در اندروید استودیو Tour of Android Studio

  • راه اندازی یک دستگاه مجازی Setting Up a Virtual Device

  • سوالات متداول: شبیه سازها در ویندوز 10 با پردازنده AMD FAQ: Emulators on Windows 10 with AMD processor

  • در حال اجرا بر روی یک شبیه ساز Running on an emulator

  • در حال اجرا بر روی یک دستگاه اندروید فیزیکی Running on a physical Android device

آموزش های کاتلین Kotlin Tutorials

  • سوالات متداول برای Android Studio 3.3 FAQ for Android Studio 3.3

  • راه اندازی آموزش کاتلین Kotlin Tutorial Setup

  • آموزش کاتلین 1 Kotlin Tutorial 1

  • متغیرها و انواع Variables and Types

  • بیشتر در مورد متغیرها و انواع More on Variables and Types

  • الحاق رشته و درون یابی String Concatenation and Interpolation

  • val و var و موارد دیگر در Declarations val and var and more on Declarations

  • شرایط Conditions

  • کلاس ها Classes

  • اشیاء و مصادیق Objects and Instances

  • چالش Challenge

  • لیست ها Lists

  • اطلاعات بیشتر در مورد لیست ها More on Lists

  • چالش toString toString Challenge

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

  • برای کپسولاسیون و خصوصیات خصوصی for Encapsulation and Private Properties

  • توابع اضافه بار Overloading Functions

  • وراثت Inheritance

  • بیشتر در مورد وراثت More on Inheritance

  • ارث ادامه دارد Inheritance Continued

  • ارث بیشتر Further Inheritance

  • در حالی که حلقه ها while Loops

  • برای Loop Revisited for Loop Revisited

  • انجام while حلقه do while Loop

  • چالش حلقه Loop Challenge

برنامه دکمه شمارنده The Button Counter App

  • معرفی Introduction

  • راه اندازی پروژه Play Setup Play Project

  • طرح بندی محدودیت The Constraint Layout

  • محدودیت ها و تغییر اندازه Constraints and Resizing

  • ویجت های موقعیت یابی Positioning Widgets

  • خطوط داخلی در یک ویجت Inner Lines within a Widget

  • طرح بندی در دستگاه های مختلف Layouts on Different Devices

  • بیشتر در مورد محدودیت ها More on the Constraints

  • خطای رندر Layout Designer Layout Designer rendering error

  • پرسش‌های متداول: محدودیت‌های پایه تغییر می‌کنند FAQ: Baseline Constraints change

  • محدودیت های پایه Baseline Constraints

  • ابزارک های محدود کننده Constraining Widgets

  • اضافه کردن قابلیت های اسکرول Add Scrolling Capabilities

  • برنامه دکمه شمارنده The Button Counter App

  • طرح بندی را به پایان برسانید Finish Layout

  • برنامه شمارنده دکمه کدنویسی Coding Button Counter App

  • findViewById و r Class findViewById and r Class

  • رویدادها و setonclicklistener Events and setonclicklistener

  • زمان تست و چالش Testing and Challenge Time

  • گسترش برنامه دکمه Extending the Button App

  • تست و چالش Testing and Challenge

  • رفع مشکلات Kotlin Gradle Fixing Kotlin Gradle Issues

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

  • صفحه Logcat The Logcat Pane

  • ثبت چرخه حیات فعالیت Logging the Activity Lifecycle

  • چرخه حیات فعالیت در عمل Activity Lifecycle in Action

  • ذخیره و بازیابی حالت نمونه Saving and Restoring Instance State

برنامه ماشین حساب Calculator App

  • برنامه ماشین حساب دمو Demo Calculator App

  • راه اندازی رابط ماشین حساب Calculator Interface Setup

  • با Interface ادامه دهید Continue with Interface

  • تنظیم دقیق چیدمان Fine Tuning the Layout

  • طرح بندی چشم انداز ایجاد کنید Create Landscape Layout

  • مقایسه فایل ها با Diff Comparing FIles with Diff

  • مقایسه دایرکتوری ها Comparing Directories

  • کدگذاری ماشین حساب Coding the Calculator

  • onClickListeners را اضافه کنید Add onClickListeners

  • عملکرد عملکرد عملیات را بنویسید Write Perform Operation Function

  • رفع اشکال و بهبود کد Bug Fix and Code Improvements

  • رفع اشکال چالش و ذخیره دولت Bug Fix Challlenge and Save State

  • منابع ویجت در Kotlin Widget References in Kotlin

  • رهنمودها Guidelines

  • رفع چیدمان منظره Fixing Landscape Layout

  • دکمه Neg را به Layout اضافه کنید Add Neg Button to Layout

  • تغییر کد برای دکمه Neg Code Changes for Neg Button

  • دکمه Neg را به پرتره اضافه کنید Add Neg Button to Portrait

10 برنامه دانلود کننده برتر The Top 10 Downloader App

  • معرفی Introduction

  • AsyncTask AsyncTask

  • Logging و Logcat Logging and Logcat

  • نکته مهم برای API 28 (و بالاتر) و Top 10 Downloader Important note for API 28 (and higher) and the Top 10 Downloader

  • فید RSS را دانلود کنید Download the RSS Feed

  • خواندن داده ها Reading the Data

  • مجوزهای اندروید Android Permissions

  • نوشتن کوتلین اصطلاحی Writing Idiomatic Kotlin

  • کوتلین اصطلاحی بیشتر More Idiomatic Kotlin

  • تجزیه داده ها Parsing the Data

  • ایجاد تابع تجزیه Xml Create Xml Parse Function

  • تست اپلیکیشن Testing the App

  • ListView و ArrayAdapter ListView and ArrayAdapter

  • تغییرات کد برای آداپتور آرایه Code Changes for Array Adapter

  • onDestroy و Asynctask onDestroy and Asynctask

  • آداپتور سفارشی ایجاد کنید Create Custom Adapter

  • کد آداپتور سفارشی Custom Adapter Code

  • بهبود آداپتور Improving the Adapter

  • الگوی ViewHolder ViewHolder Pattern

  • اضافه کردن منو - چیدمان Adding a Menu - Layout

  • اضافه کردن منو - کد Adding A Menu - Code

  • گروه های منو - طرح بندی Menu Groups - Layout

  • گروه های منو - کد Menu Groups - Code

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

برنامه یوتیوب The YouTube app

  • برپایی Setup

  • فعالیت YouTube YouTube Activity

  • افزودن ویجت ها به صورت پویا Adding Widgets Dynamically

  • کلید Google API Google API Key

  • افزودن کلید به کد Add Key to Code

  • پخش کننده یوتیوب The YouTube Player

  • روش موفقیت در شروع اولیه onInitializationSuccess Method

  • اضافه کردن شنوندگان Adding Listeners

  • بهبود بازیکن Improving the Player

  • گسترش طرح‌بندی برنامه Extending App Layouts

  • گسترش کد برنامه یوتیوب Extending Youtube App Code

  • اجرای اهداف و چالش Implementing Intents and Challenge

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

  • بیشتر رسیدگی به خطا More Error Handling

برنامه مرورگر فلیکر Flickr Browser App

  • معرفی Introduction

  • تلنگر برنامه و فیدها Flick App and Feeds

  • چالش جیسون و مینی Json and Mini challenge

  • Log Tag و Companion Objects Log Tag and Companion Objects

  • ثابت های سطح بالای کاتلین Kotlin top-level constants

  • JSON - doInBackground را دانلود کنید Download JSON - doInBackground

  • در حال دانلود JSON Downloading the JSON

  • تماس های برگشتی CallBacks

  • نمودار پروژه و کلاس عکس Project Diagram and Photo Class

  • کلاس GetFlickJsonData GetFlickJsonData class

  • کلاس GetFlickrJsonData ادامه یافت GetFlickrJsonData class continued

  • اوری بیلدر Uri Builder

  • استنباط کاربر مرورگر فلیکر Flickr Browser User Inferface

  • RecyclerView Layouts RecyclerView Layouts

  • اتمام طرح بندی مرور Finishing Browse Layout

  • جستجو و فعالیت های PhotoDetail Search and PhotoDetail Activities

  • چیدمان های تو در تو Nested Layouts

  • آداپتور Recyclerview Recyclerview Adapter

  • onBindViewHolder و Picasso onBindViewHolder and Picasso

  • آداپتور را به Recyclerview مرتبط کنید Associate Adapter to Recyclerview

  • RecyclerItemClickListener RecyclerItemClickListener

  • GestureDetector GestureDetector

  • نمایش عکس کامل Displaying the full photo

  • قابل سریال سازی Serializable

  • تغییر فعالیت جزئیات عکس Modify Photo Details Activity

  • به روز رسانی برای نسخه بعدی Kotlin Update for later version of Kotlin

  • قابل بسته بندی Parcelable

  • طراحی متریال Material Design

  • بیشتر در مورد طراحی متریال More on Material Design

  • AppCompat - سازگاری با عقب AppCompat - Backwards Compatibility

  • شیوه نامه ها Style Sheets

  • برگه های سبک سفارشی Custom Style Sheets

  • فضاهای نام Namespaces

  • سایر تغییرات طراحی مواد Other Material Design Changes

  • ویدیوی ویرایشگر سبک از دست رفته Missing Style Editor video

  • تفاوت در سطوح API Differences in API Levels

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

  • String Resources Placeholders String Resources Placeholders

  • افزودن ویژگی جستجو Adding the Search Feature

  • SearchView SearchView

  • بیشتر در SearchView More on SearchView

  • جستجومشاهده رویدادها SearchView Events

  • منسوخ شدن کلاس فریمورک PreferenceManager Deprecation of framework PreferenceManager class

  • SharedPreferences SharedPreferences

  • فیبز گفتن Telling Fibs

پایگاه های داده، زبان SQL و SQLite در اندروید Databases, the SQL Language and SQLite on Android

  • معرفی Introduction

  • مقدمه ای بر پایگاه های داده Introduction to Databases

  • اصطلاحات پایگاه داده Database Terminology

  • خط فرمان و راه اندازی مسیر برای ویندوز Command Line and Path Setup for Windows

  • خط فرمان و راه اندازی مسیر برای مک Command Line and Path Setup for Mac

  • خط فرمان و راه اندازی مسیر برای لینوکس اوبونتو Command Line and Path Setup for Ubuntu Linux

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

  • SQL بیشتر با Sqlite More SQL with Sqlite

  • داده های پرس و جوی Sqlite Sqlite Querying Data

  • سفارش دهید و بپیوندید Order By and Joins

  • پیوندهای پیچیده تر More Complex Joins

  • کارت های وحشی و نمایش ها Wild Cards and Views

  • خانه داری و چالش Housekeeping and Challenge

  • SQL پایه در اندروید Basic SQL in Android

  • جدول اضافه کردن داده و تست ایجاد کنید Create Table Add Data and Test

  • مکان نما و ناوبری Cursor and Navigation

  • تصحیح Correction

  • سیستم فایل اندروید Android File System

  • ارائه دهندگان محتوا Content Providers

  • راه اندازی شبیه سازها Setting up the Emulators

  • طرح بندی برنامه ارائه دهنده تماس بگیرید Contact Provider App Layout

  • قرارداد مخاطبین The ContactsContract

  • ContentResolver و Abstraction ContentResolver and Abstraction

  • بازیابی داده ها با ContentResolver Retrieving Data with a ContentResolver

  • مجوزها Permissions

  • بررسی مجوزها در زمان اجرا Checking Permissions at Runtime

  • تست اپلیکیشن Testing the App

  • اجتناب از تصادفات اسنک بارها و یک چالش Avoiding Crashes Snackbars and a Challenge

  • اطلاعات بیشتر در مورد اسنک بار More on Snackbars

  • Intents، setData و Uris Intents, setData and Uris

  • وضعیت ذخیره مشکلات Problems Storing State

  • Saving of State را حذف کنید Remove Saving of State

  • تست اسکریپت چالش و پاکسازی Test Scripts Challenge and Cleanup

ViewModel و LiveData ViewModel and LiveData

  • معرفی Introduction

  • کلاس ViewModel اندروید Androids ViewModel Class

  • سؤالات متداول: تغییرات در کتابخانه اجزای چرخه حیات FAQ: Changes to the Lifecycle Components library

  • استفاده از ViewModel Using a ViewModel

  • پایان تغییرات ViewModel Finish ViewModel Changes

  • افشای LiveData Exposing LiveData

  • تعویض ViewModel Swapping the ViewModel

  • ViewModel با 10 دانلودر برتر ViewModel with Top 10 Downloader

  • ViewModel را پیاده سازی کنید Implement ViewModel

  • تغییرات نهایی Final Changes

  • تست اپلیکیشن App Testing

برنامه TaskTimer TaskTimer App

  • برنامه TaskTimer The TaskTimer Application

  • راه اندازی پایگاه داده Database Setup

  • ایجاد یک قطعه Creating a Fragment

  • کلاس قرارداد وظایف Tasks Contract Class

  • کلاس AppDatabase AppDatabase Class

  • SQL برای Tasks Table ایجاد کنید Create SQL for Tasks Table

  • کلاس Singleton AppDatabase Singleton AppDatabase Class

  • در مورد ارتقا و تست onUpgrade and Testing

  • Content Provider The ContentProvider

  • سؤالات متداول: زمینه در یک Content Provider FAQ: context in a ContentProvider

  • uriMatcher uriMatcher

  • به روز رسانی فایل های ساخت Updating Build Files

  • URI محتوا The Content URI

  • ContentProvider را ثبت کنید Register the ContentProvider

  • با استفاده از appendWhereEscapeString Using appendWhereEscapeString

  • انواع Mime در ارائه دهنده محتوا Mime Types in the Content Provider

  • درج ارائه دهنده محتوا Content Provider Insert

  • به روز رسانی و حذف کنید Update and Delete

  • تست درج و به روز رسانی Testing Insert and Update

  • آزمایش به روز رسانی و حذف انبوه Testing Bulk Update and Delete

  • رابط کاربری منوی اصلی Main Menu UI

  • Task UI Layout Task UI Layout

  • محدودیت های آیتم های لیست وظایف Task List Items Constraints

  • اضافه کردن/ویرایش طرح Add / Edit Layout

  • کلاس داده کاتلین The Kotlin Data Class

  • بخش افزودن/ویرایش The Add / Edit Fragment

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

  • قطعات چند جداره Multi-pane Fragments

  • نمایشگرهای چند صفحه ای Multi-pane Displays

  • فعال کردن حالت دو صفحه Enabling Two-pane Mode

  • چرخه حیات قطعه قسمت 1 The Fragment Lifecycle Part 1

  • چرخه حیات قطعه قسمت 2 The Fragment Lifecycle Part 2

  • ثبت چرخه حیات قطعه Logging the Fragment Lifecycle

  • Android SDK Gradle و به روز رسانی Kotlin Android SDK Gradle and Kotlin Updates

  • پیمایش بالا و عقب برای قطعات Up and Back Navigation for Fragments

  • شی می تواند بیش از یک نوع داشته باشد Object can have More than One Type

  • حذف دکمه Up Removing the Up Button

  • ناوبری برگشت Back Navigation

  • تکمیل رابط کاربری AddEdit Completing the AddEdit UI

  • ذخیره جزئیات کار Saving the Task Details

  • ذخیره تست Test Saving

  • به روز رسانی اندروید استودیو، کاتلین و گریدل Updating Android Studio, Kotlin, and Gradle

  • رفع هشدارهای جدید کاتلین Fixing New Kotlin Warnings

  • کانتینر چیدمان Layout Container

  • RecyclerView CursorAdapter RecyclerView CursorAdapter

  • معرفی دیوید ریدی Introducing David Reidy

  • منابع رشته حیله گر Tricky String Resources

  • کلاس ViewModel The ViewModel Class

  • در The ViewModel مشترک شوید Subscribe to The ViewModel

  • اطلاعیه ها و ناظران Notifications and Observers

  • پاسخ دادن به ضربه ها Responding to Taps

  • OnClick Listeners، Interfaces و Callbacks onClick Listeners, Interfaces and Callbacks

  • پاسخ به کلیک های آداپتور Responding to Clicks from the Adapter

  • راه حل چالش رابط Solution to The Interface Challenge

  • حذف یک کار از پایگاه داده Deleting a Task from The Database

  • دسترسی به پایگاه داده در یک موضوع پس زمینه Accessing a Database on a Background Thread

  • پردازش پس‌زمینه با استفاده از کوروتین Background Processing Using a Coroutine

  • AddEditFragment را پاک کنید Clean Up AddEditFragment

  • ذخیره در ViewModel Saving in The ViewModel

  • به اشتراک گذاری نمونه های ViewModel Sharing ViewModel Instances

دیالوگ ها Dialogs

  • AndroidX AndroidX

  • مقدمه ای بر دیالوگ ها Introduction to Dialogs

  • کلاس AppDialog قسمت 1 AppDialog Class Part 1

  • کلاس AppDialog قسمت 2 AppDialog Class Part 2

  • افزودن دیالوگ به برنامه Adding a Dialog to The App

  • تماس های گفتگو Dialog CallBacks

  • Asserts و BuildConfig Asserts and BuildConfig

  • رفتار گفتگوی عجیب Strange Dialog Behavior

  • تایید خروج بدون ذخیره Confirming Exit Without Saving

  • پیاده سازی اینترفیس Implementing the Interface

  • توابع افزودنی کاتلین Kotlin Extension Functions

  • Image Asset Studio Image Asset Studio

  • یک گفتگو درباره Layout قسمت 1 ایجاد کنید Create an About Dialog the Layout Part 1

  • یک گفتگو درباره Layout قسمت 2 ایجاد کنید Create an About Dialog the Layout Part 2

  • نمایش کادر گفتگوی About Displaying the About Dialog

  • نسخه سازی و build.gradle Versioning and build.gradle

  • رد کردن دیالوگ Dismissing the Dialogue

  • پشتیبانی از نسخه های قدیمی تر Supporting Older Versions

  • راه حل چالش سازگاری قسمت 1 Compatibility Challenge Solution Part 1

  • راه حل چالش سازگاری قسمت 2 Compatibility Challenge Solution Part 2

گفتگوی تنظیمات Settings Dialog

  • معرفی Introduction

  • تنظیمات طرح بندی گفتگو Settings Dialog Layout

  • گفتگوی تنظیمات Settings Dialog

  • DefaultSharedPreferences DefaultSharedPreferences

  • مقادیر SeekBar SeekBar Values

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

  • تنظیم عنوان گفتگو Setting Dialog Title

  • حفظ حالت نمونه Retain Instance State

چندین جداول و ارتقاء پایگاه داده Multiple Tables and Database Upgrades

  • معرفی Introduction

  • تصحیح و کاوشگر فایل دستگاه A Correction and the Device File Explorer

  • به روز رسانی پایگاه داده Database Updates

  • ذخیره داده های زمان بندی Saving the Timing Data

  • تابع saveTiming The saveTiming Function

  • زمان بندی تست Testing Timings

  • ارائه بازخورد Providing Feedback

  • تصحیح سخنرانی ارائه بازخورد Correction to the Providing Feedback lecture

  • از دست رفتن داده ها Data Loss

  • ذخیره سوابق زمان بندی فعلی Storing the Current Timing Records

  • راه حل - بازیابی رکورد زمان فعلی Solution - Retrieving the Current Time Record

  • راه حل ادامه دارد Solution Continued

  • حل و تست را تمام کنید Finish Solution and Test

  • وقتی باتری از بین می رود When the Battery Dies

گزارش ها Reports

  • ایجاد داده های آزمایشی Creating Test Data

  • تولید داده های تست Generating the Test Data

  • اشکال زدایی و انتشار ساخت Debug and Release Builds

  • استفاده از نمای SQLite Using a SQLite view

  • افزودن نمای به پایگاه داده Adding the view to the Database

  • افزودن نمای به ContentProvider Adding the view to the ContentProvider

  • تست ارتقای پایگاه داده Testing the Database Upgrade

  • زنجیره های ConstraintLayout ConstraintLayout Chains

  • انواع زنجیر Chain Types

  • اتمام طرح بندی گزارش ها - چالش Finishing the reports layouts - challenge

  • چیدمان های چشم انداز The Landscape Layouts

  • آداپتور گزارش The Report Adapter

  • فعالیت گزارش مدت زمان The Durations Report Activity

  • تست لوکال های مختلف Testing Different Locales

  • ایجاد گزارش ViewModel Creating the reports ViewModel

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

  • مرتب سازی داده های گزارش Sorting the Report Data

  • وکتور Drawables and Asset Studio Vector Drawables and Asset Studio

  • منوی گزارش The Report Menu

  • گزارش کد منو - تغییر روز/هفته Report Menu Code - day/week toggle

  • دیالوگ DatePicker The DatePickerDialog

  • فیلتر کردن بر اساس تاریخ Filtering by Date

  • فیلتر کردن در DurationsViewModel Filtering in the DurationsViewModel

  • تست فیلترهای گزارش Testing the Report Filters

  • Unbuggy DatePickerDialog Unbuggy DatePickerDialog

  • حذف داده های قدیمی تایمینگ Deleting old Timings data

  • تست حذف انبوه Testing Mass Deletion

  • مشاهده مکان نما در ViewModel Observing the cursor in the ViewModel

  • یک اشکال جزئی A Minor Bug

  • مشاهده یک تغییر پیکربندی Observing a Configuration Change

  • تست رفع اشکال Testing the Bug Fix

  • استفاده از تنظیم روز اول هفته Using the First Day Of Week Setting

  • بهره گیری از ویژگی های بعدی Taking Advantage of Later Features

  • تست DatePickerFragment جدید Testing the new DatePickerFragment

  • مشاهده تغییرات SharedPreference Observing SharedPreference changes

  • راه حلی برای نادیده گرفتن چالش زمان بندی کوتاه Solution to Ignore Short Timings Challenge

مرتب کردن Tidying up

  • معرفی Introduction

  • نسخه پلاگین و کتابخانه Plugin and Library Versions

  • بررسی کد Code Review

  • بررسی کد - کلاس AppProvider Code Review - The AppProvider Class

  • بررسی کد - CursorRecyclerViewAdapter، DurationsReport و ViewModels Code Review - CursorRecyclerViewAdapter, DurationsReport, and the ViewModels

  • بررسی کد - کلاس های MainActivity و Contract Code Review - MainActivity and the Contract classes

  • Kotlin و ViewModels Kotlin and ViewModels

  • یکی دیگر از تغییرات شکسته Another Breaking Change

  • بهبودهایی در کوروتین ها در ViewModel Improvements to coroutines in a ViewModel

  • دیسپچرها Dispatchers

  • Coroutines Don't Block Coroutines Don’t Block

  • رفع اشکال و ایده هایی برای بهبود Bug Fixes and Ideas for Improvements

  • جلوگیری از حذف وظایف ویرایش شده Prevent Deletion of Edited Task

  • پیاده سازی حذف با کشیدن انگشت - قسمت 1 Implementing Delete by Swiping - Part 1

  • پیاده سازی حذف با کشیدن انگشت - قسمت 2 Implementing Delete by Swiping - Part 2

  • پیاده سازی حذف با کشیدن انگشت - قسمت 3 Implementing Delete by Swiping - Part 3

  • چالش - رفع اشکال Challenge - Bug Fix

  • چالش - حذف کاری که زمان‌بندی شده است Challenge - Deleting a task that's being timed

  • پرس و جوهای پارامتری شده Parameterised Queries

  • اضافه کردن جدول پارامترها Adding the Parameters Table

  • استفاده از نمای پارامتری شده در ViewModels ما Using the Parameterised View in our ViewModels

  • تازه کردن گزارش Refreshing the Report

  • مجموعه Collation

اطلاعات اضافی - کد منبع و موارد دیگر Extra Information - Source code, and other stuff

  • کد منبع Source Code

  • سخنرانی و اطلاعات پاداش Bonus Lecture and Information

نمایش نظرات

آموزش Masterclass توسعه برنامه اندروید با استفاده از Kotlin
جزییات دوره
62 hours
382
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
38,901
4.4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Tim Buchalka Tim Buchalka

Java Python Android و C# Expert Developer - 1.28 میلیون دانشجو

Tim Buchalka's Learn Programming Academy Tim Buchalka's Learn Programming Academy

برنامه نویسان و معلمان حرفه ای - 1.75 میلیون دانش آموز

Jean-Paul Roberts Jean-Paul Roberts

برنامه نویس کامپیوتر، تحلیلگر و معلم

David Reidy David Reidy

توسعه دهنده uCare