آموزش صفر تا صد کاتلین (فیلم فارسی+دانلود رایگان PDF)

رتبه: 5 ار 12 رای SSSSS
kotlin

بعد از حدود ۱ هفته گشت و گذار در اینترنت و از بین هزاران ویدیو، یک مجموعه بی نقص و کامل ویدیویی را برای یادگیری کاتلین گلچین کرده ایم. این مجموعه کامل برای شروع از صفر و برای همه سطوح مناسب می باشد. بعد از آن نیز بهترین جزوه PDF فارسی موجود در اینترنت را جهت تکمیل یادگیری می توانید دانلود کنید.

مفاهیم و نکات کاربردی کاتلین (همین توضیحات خودش نصف راهه!)

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

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

مسیر مناسب یادگیری برای یک مبتدی چنین است:

متغیرها → انواع داده → شرط → حلقه → تابع → مجموعه‌ها → کلاس و شیء → مدیریت Null → شیءگرایی → Coroutines → برنامه‌نویسی اندروید

اولین برنامه کاتلین

یک برنامه بسیار ساده:

fun main() {
    println("سلام کاتلین")
}

main تابع اصلی برنامه است و اجرای برنامه معمولاً از آن شروع می‌شود.

دستور:

println()

برای نمایش اطلاعات در خروجی استفاده می‌شود.

مثلاً:

println(10 + 20)

خروجی:

30

متغیر چیست؟

متغیر (Variable) محلی برای نگهداری اطلاعات است.

در کاتلین دو روش مهم تعریف متغیر داریم:

var age = 25
val name = "Ali"

var یعنی مقدار متغیر قابل تغییر است.

مثلاً:

var age = 20
age = 21

اما val برای مقداری است که بعد از مقداردهی اولیه نباید دوباره تغییر کند:

val country = "Iran"

برای برنامه‌نویسی بهتر، هرجا نیازی به تغییر مقدار ندارید از val استفاده کنید.

انواع داده

کاتلین انواع داده مختلفی دارد.

چند نوع مهم عبارت‌اند از:

نوع کاربرد مثال
Int عدد صحیح 25
Long عدد صحیح بزرگ 100000L
Double عدد اعشاری 18.5
Float عدد اعشاری 10.5f
Boolean درست یا غلط true
Char یک نویسه 'A'
String متن "Ali"

مثلاً:

val age: Int = 25
val price: Double = 150.5
val isStudent: Boolean = true
val name: String = "Sara"

معمولاً کاتلین خودش نوع داده را تشخیص می‌دهد؛ بنابراین اغلب می‌توانیم ساده‌تر بنویسیم:

val age = 25

String یا رشته متنی

رشته متنی (String) برای نگهداری متن استفاده می‌شود.

val name = "Reza"

برای ترکیب متن و متغیر، کاتلین روش بسیار ساده‌ای دارد:

val age = 30

println("سن من $age سال است")

یا:

val a = 10
val b = 20

println("مجموع برابر ${a + b} است")

این قابلیت را درون‌گذاری رشته یا String Template می‌نامند.

شرط if

برای تصمیم‌گیری از if استفاده می‌کنیم.

val age = 20

if (age >= 18) {
    println("بزرگسال")
} else {
    println("کمتر از 18 سال")
}

همچنین می‌توانیم چند حالت تعریف کنیم:

val score = 17

if (score >= 18) {
    println("عالی")
} else if (score >= 12) {
    println("قبول")
} else {
    println("مردود")
}

دستور when

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

when (وِن)

دارد که برای بررسی چند حالت مناسب است.

مثلاً:

val day = 2

when (day) {
    1 -> println("شنبه")
    2 -> println("یکشنبه")
    3 -> println("دوشنبه")
    else -> println("روز دیگر")
}

when در بسیاری از مواقع کد را از چندین if خواناتر می‌کند.

عملگرهای مقایسه‌ای

چند عملگر مهم:

==   برابر بودن
!=   نابرابر بودن
>    بزرگ‌تر
<    کوچک‌تر
>=   بزرگ‌تر یا مساوی
<=   کوچک‌تر یا مساوی

مثلاً:

if (price > 100000) {
    println("قیمت بالا است")
}

برای ترکیب چند شرط نیز از:

&&

به معنی و

و:

||

به معنی یا

استفاده می‌شود.

مثلاً:

if (age >= 18 && hasCard) {
    println("ورود مجاز است")
}

حلقه for

حلقه (Loop) برای تکرار دستورات استفاده می‌شود.

مثلاً:

for (i in 1..5) {
    println(i)
}

خروجی:

1
2
3
4
5

برای پیمایش یک فهرست نیز می‌توان نوشت:

val names = listOf("Ali", "Sara", "Reza")

for (name in names) {
    println(name)
}

حلقه while

تا زمانی که شرط برقرار باشد، while اجرا می‌شود:

var number = 1

while (number <= 5) {
    println(number)
    number++
}

مراقب باشید شرط حلقه در نهایت تغییر کند؛ در غیر این صورت ممکن است حلقه بی‌نهایت ایجاد شود.

تابع چیست؟

تابع (Function) مجموعه‌ای از دستورات است که یک کار مشخص انجام می‌دهد.

در کاتلین با fun تعریف می‌شود:

fun sayHello() {
    println("سلام")
}

برای اجرا:

sayHello()

تابع می‌تواند ورودی دریافت کند:

fun sayHello(name: String) {
    println("سلام $name")
}

و می‌تواند نتیجه برگرداند:

fun add(a: Int, b: Int): Int {
    return a + b
}

استفاده:

val result = add(10, 20)

توابع باعث می‌شوند کد مرتب‌تر و قابل استفاده مجدد باشد.

List یا فهرست

برای نگهداری چند مقدار می‌توان از فهرست (List) استفاده کرد.

فهرست غیرقابل تغییر:

val names = listOf("Ali", "Sara", "Mina")

دسترسی به اولین عنصر:

println(names[0])

اگر فهرست قابل تغییر بخواهیم:

val names = mutableListOf("Ali", "Sara")

names.add("Reza")

Mutable یعنی قابل تغییر.

چرب زبان

برنامه نویسی اندروید رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی با ساخت اپلیکیشن و بازی،  سه پک زیر جوابت هست:

پک کامل طراحی رابط کاربری

پک 1 اندروید استودیو (مبتدی تا متوسط)

پک 2 اندروید استودیو (پیشرفته)

شناخت تفاوت مجموعه‌های قابل تغییر و غیرقابل تغییر در کاتلین بسیار مهم است.

Map چیست؟

نگاشت (Map) اطلاعات را به شکل کلید و مقدار ذخیره می‌کند.

مثلاً:

val student = mapOf(
    "name" to "Ali",
    "city" to "Tehran"
)

دریافت مقدار:

println(student["name"])

Map برای اطلاعات ساختاریافته بسیار کاربردی است.

Null چیست؟

یکی از مهم‌ترین ویژگی‌های کاتلین مدیریت بهتر مقدار تهی (Null) است.

Null یعنی متغیر در حال حاضر مقدار واقعی ندارد.

در کاتلین به‌صورت عادی نمی‌توانید بنویسید:

var name: String = null

اگر قرار است متغیر بتواند Null باشد باید از ? استفاده کنید:

var name: String? = null

این قابلیت را ایمنی در برابر Null یا Null Safety می‌نامند و یکی از نقاط قوت کاتلین است.

عملگر ?.

فرض کنید:

var name: String? = null

اگر بنویسیم:

println(name?.length)

کاتلین ابتدا بررسی می‌کند name تهی است یا خیر.

اگر مقدار داشته باشد، طول متن را برمی‌گرداند؛ اگر Null باشد، برنامه بی‌دلیل خراب نمی‌شود.

این عملگر را فراخوانی امن یا Safe Call می‌نامند.

عملگر Elvis

عملگر:

?:

به عملگر الویس (Elvis Operator) معروف است.

مثلاً:

val name: String? = null

val result = name ?: "نام وارد نشده"

اگر name مقدار داشته باشد همان مقدار استفاده می‌شود، در غیر این صورت عبارت دوم استفاده می‌شود.

Class و Object

کاتلین یک زبان شیءگرا (Object-Oriented) نیز هست.

مثلاً:

class Student(
    val name: String,
    var score: Int
)

حالا می‌توانیم یک شیء (Object) بسازیم:

val student1 = Student("Ali", 18)

و اطلاعات آن را بخوانیم:

println(student1.name)
println(student1.score)

Class را می‌توان نقشه ساخت اشیا در نظر گرفت.

Data Class

کاتلین برای نگهداری داده‌ها نوع بسیار کاربردی:

Data Class یا کلاس داده

را دارد.

مثلاً:

data class Product(
    val id: Int,
    val name: String,
    val price: Double
)

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

Lambda چیست؟

لامبدا (Lambda) نوع کوتاه‌تری از تابع است.

مثلاً:

val numbers = listOf(1, 2, 3, 4)

numbers.forEach {
    println(it)
}

it به عنصر فعلی اشاره می‌کند.

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

Coroutine چیست؟

یکی از مفاهیم مهم‌تر کاتلین:

کوروتین (Coroutine)

است.

کوروتین برای اجرای کارهای زمان‌بر بدون متوقف‌کردن بخش اصلی برنامه استفاده می‌شود.

مثلاً:

  • دریافت اطلاعات از اینترنت
  • خواندن پایگاه داده
  • انجام عملیات طولانی

در برنامه اندروید نباید کارهای سنگین را روی رشته اصلی اجرا کنیم، چون ممکن است رابط کاربری متوقف شود.

برای شروع لازم نیست Coroutine را عمیق یاد بگیرید؛ فقط بدانید که بخش مهمی از برنامه‌نویسی جدید کاتلین و اندروید است.

موارد آموزش داده شده در این پکیج رایگان

  • مقدمه و پیشگفتار
  • آشنایی کلی
  • نصب نرم افزارهای مورد نیاز
  • اولین برنامه کاتلین برای اندروید
  • راه اندازی شبیه ساز
  • اجرای برنامه اندرویدی روی گوشی
  • آشنایی با اندروید استودیو
  • و …

دانلود آموزش رایگان ما

 دانلود فیلم های این پکیج

 دانلود جزوه PDF

 حجم: ۲۸۰ مگابایت (فشرده شده)

 سطح: از صفر تا صد

 نسخه آموزش داده شده: مناسب برای همه نسخه ها

download time

به دنبال یادگیری سریع تر، حرفه ای تر، کامل تر و با کیفیت فول اچ دی هستید؟ بهترین پکیج آموزش برنامه نویسی اندروید موجود در ایران را ببینید!

آموزش برنامه نویسی اندروید (پکیج ۱)



کاربرد کاتلین در اندروید

اگر هدف شما برنامه‌نویسی Android است، بعد از یادگیری پایه کاتلین وارد این موضوعات شوید:

Android Studio → Activity → Jetpack Compose → State → Navigation → ViewModel → Room → API → Coroutines

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

اشتباهات رایج مبتدیان

از این موارد دوری کنید:

  • شروع اندروید قبل از یادگیری پایه کاتلین
  • حفظ دستورات بدون نوشتن برنامه
  • استفاده زیاد از var وقتی val کافی است
  • بی‌توجهی به Null Safety
  • کپی‌کردن کد هوش مصنوعی بدون فهمیدن آن
  • شروع مستقیم پروژه پیچیده
  • یاد نگرفتن Function و Class
  • ترسیدن از Errorها

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

مسیر پیشنهادی یادگیری کاتلین

به این ترتیب جلو بروید:

متغیر و نوع داده → String → شرط و when → حلقه → Function → List و Map → Null Safety → Class و Object → Data Class → Lambda → Coroutine → Android

برای تمرین نیز می‌توانید از پروژه‌های ساده شروع کنید:

ماشین‌حساب → محاسبه معدل → فهرست کارها → دفترچه مخاطبان → برنامه ساده اندروید

جمع‌بندی

برای یادگیری کاتلین لازم نیست در ابتدا تمام امکانات زبان را حفظ کنید. ابتدا مفاهیم اصلی را خوب بفهمید:

متغیر → شرط → حلقه → تابع → مجموعه‌ها → Null → کلاس → لامبدا → کوروتین

اگر بتوانید برنامه‌ای بنویسید که اطلاعات دریافت کند، براساس شرط تصمیم بگیرد، از List استفاده کند، چند Function داشته باشد و اطلاعات را در Class نگهداری کند، بخش اصلی زبان کاتلین را یاد گرفته‌اید.

اگر هدف نهایی شما Android است، ابتدا خود کاتلین را به سطح قابل قبول برسانید و سپس وارد Android Studio و Jetpack Compose شوید. این روش بسیار بهتر از آن است که هم‌زمان با یادگیری زبان، درگیر صدها مفهوم اندروید شوید.

آموزشهای برنامه نویسی ما در اینجا

profile name
سریع آسان

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

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه

دیدگاهتان را بنویسید

1 2 3 4 5

12 نظر درباره «آموزش صفر تا صد کاتلین (فیلم فارسی+دانلود رایگان PDF)»

  • حسین
    حسین آیا این دیدگاه مفید بود ؟

    سلام با زبان فارسی توضیح میده ؟

    پاسخ
  • armin davoodi
    armin davoodi آیا این دیدگاه مفید بود ؟

    این اولین زبان برنامه نویسی هست که میخوام یاد بگیرم به نظر شما برای شروع خوبه؟ اگه خوب نیست یک زبان برای ساخت اپلیکیشن بگید

    پاسخ
    • ایلیا

      خیلی عالیه انتخاب خوبیه .

    • علی

      بهتره اول جاوا آموزش ببینید

    • کیارش

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

  • علی راد
    علی راد آیا این دیدگاه مفید بود ؟

    سلام من تازه میخوام یاد بگیرم android studio رو و وقتی بخوام یه برنامه معمولی درست کنم که فقط یه button داشته باشه و وقتی کلیک کنم یه پیغام خوش امدید بیاد، button رو که درست میکنم و همه چیزشو درست میکنم و حتی IDرو هم تغییر میدم و وارد قسمت MainActivity.kt میشم هیچ button به این ID نمیشناسه و همش ارور میده که هیچ button به این اسم و ID نداریم اصلا میشه لطفا کمک کنید ممنون

    پاسخ
    • محمدحسین

      kotlin-android-extensions این رو به قسمت اکستنشن ها اضافه کن مشکلت حل میشه

    • بنجامین

      منم دقیقا همین مشکل دارم. توی پلاگین ها کاتلین و هم نصب کردم و مشکلم حل نشد

  • حامد
    حامد آیا این دیدگاه مفید بود ؟

    این دوره پیش نیاز لازم داره

    پاسخ
  • mobin
    mobin آیا این دیدگاه مفید بود ؟

    سلام
    خسته نباشید
    ببخشید این دوره فقط آموزش خود کاتلینه یا اینکه واسه ساخت برنامه اندرویدیه؟

    پاسخ
  • ابوالفضل
    ابوالفضل آیا این دیدگاه مفید بود ؟

    سلام من علاقه زیادی برام پیش اومده آیا میشه برای یک پلتفرم از چند زبان برنامه نویسی استفاده کرد ؟؟

    پاسخ
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید