Advertisement
  1. Code
  2. Android SDK

چگونه از کوتلین در پروژه های اندرویدی خود استفاده کنیم

Scroll to top
Read Time: 6 min

Persian (پارسی) translation by Ali Moradi (you can also view the original English article)

مقدمه

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

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

در این آموزش، به شما چگونگی استفاده از کوتلین و افزونه های آن را در پروژه های Android Studio آموزش خواهم داد. 

پیش نیازها

برای ادامه کار، شما نیاز به:

  • آخرین نسخه Android Studio
  • و آشنایی پایه با قواعد نحوی کوتلین دارید.

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

1. نصب افزونه های کوتلین

در منوی سریع Android Studio، گزینه های Configure > Plugins را انتخاب نمایید.

Configure PluginsConfigure PluginsConfigure Plugins

در صفحه بعد، بر روی ...Install JetBrains plugin در پایین کلیک نمایید.

Install JetBrains pluginInstall JetBrains pluginInstall JetBrains plugin

 بر روی Kotlin Extensions For Android در لیست کلیک نمایید و در سمت راست بر روی Install Plugin کلیک نمایید. 

Install Kotlin Extensions For AndroidInstall Kotlin Extensions For AndroidInstall Kotlin Extensions For Android

به دلیل اینکه افزونه بستگی به افزونه کوتلین دارد، از شما خواسته می شود که هر دو را نصب نمایید. بر روی Yes برای آغاز نصب کنید نمایید.

Plugin Dependencies DetectedPlugin Dependencies DetectedPlugin Dependencies Detected

وقتی نصب به پایان رسید، Android Studio را برای اعمال تغییرات از دوباره راه اندازی کنید.

2. ساخت یک Activity کوتلین

در Android Studio، بر روی نام بسته راست کلیک کرده و New > Kotlin File را انتخاب نمایید.

New Kotlin FileNew Kotlin FileNew Kotlin File

در پنجره ای که باز می شود، نام Activity جدید را وارد کرده و Class را از منوی کشویی انتخاب نمایید. من نام کلاسم را MainActivity گذاشتم. 

New Kotlin file dialogNew Kotlin file dialogNew Kotlin file dialog

وقتی کلاس ساخته شد، یک اخطار می بینید که از شما می خواهد تا ماژول برنامه خود را برای پشتیبانی از کوتلین تنظیم کنید.

Configure Kotlin alertConfigure Kotlin alertConfigure Kotlin alert

بر روی لینک اخظار کلیک نمایید و، در پنجره باز شده، بر روی OK کلیک نمایید تا ارزش های پیش فرض انتخاب شوند. 

Configure Kotlin dialogConfigure Kotlin dialogConfigure Kotlin dialog

برای تنظیم پروژه برای پشتیبانی از کوتلین، افزونه کوتلین تغییراتی در فایل Build.gradle ایجاد می کند. این تغییرات را با کلیک بر روی دکمه Sync Now همان طوری که در زیر نشان داده شده است، تثبیت کنید. 

Sync Now pop upSync Now pop upSync Now pop up

تا اینجا، تنظیمات پروژه شما به پایان رسید. به کلاس کوتلینی که چند لحظه پیش ساختید برای شروع کدنویسی کوتلین رجوع کنید.

3. استفاده از کوتلین

برای ساده نگه داشتن مثال، به شما چگونگی ساخت یک Activity با یک TextView که یک String را نشان می دهد را نشان می دهم. 

مطمئن شوید که کلاستان زیر کلاسی از Activity و رونویسی شده ی متد onCreate آن باشد.  مطمئنن، باید این کار را در کوتلین انجام دهید. اگر در کوتلین تازه کار هستید، به شما پیشنهاد می کنم که از قابلیت تولید کد Android Studio با فشردن دکمه های Control+O برای درست نوشتن متد ها استفاده کنید. 

Override Members dialogOverride Members dialogOverride Members dialog

کلاس شما حال باید به این شکل باشد:

1
package com.hathy.kotlinsample
2
3
import android.app.Activity
4
import android.os.Bundle
5
6
public class MainActivity: Activity() {
7
    override fun onCreate(savedInstanceState: Bundle?) {
8
        super.onCreate(savedInstanceState)
9
    }
10
}

نمونه ای از TextView به عنوان یک متغیر محلی یکبار-تعریف با استفاده از کلمه کلیدی val بسازید. 

1
val myMessage = TextView(this)

متد setText آن را برای تعیین String ای که میخواهید به نمایش در بیارید صدا بزنید و بعد setContentView را برای نمایش متن صدا بزنید.

1
myMessage.setText("Hello")
2
setContentView(myMessage)

همانند یک Activity جاوا، باید Activity کوتلین خود را در AndroidManifest.xml برنامه مشخص کنید تا آن توسط سیستم اندروید شناسایی شود.  اگر این تنها Activity در پروژه شماست، فایل manifest شما باید به این گونه باشد: 

1
<activity android:name=".MainActivity">
2
    <intent-filter>
3
        <action android:name="android.intent.action.MAIN"/>
4
        <category android:name="android.intent.category.LAUNCHER"/>
5
    </intent-filter>
6
</activity>

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

4. استفاده از بسط های اندروید

افزونه بسط کوتلین اندروید به شما اجازه رفتار با ویجت های تعریف شده را در چیدمان XML یک Activity می دهد انگار که آنها خصوصیات آن Activityبوده اند.  به زبانی دیگر، اگر از این افزونه استفاده کنید، دیگر نیازی به استفاده از findViewById نخواهید داشت.  این خصوصیات، خصوصیات ترکیبی نامیده می شوند. 

برای استفاده از این خصوصیت در برنامه خود، باید org.jetbrains.kotlin:kotlin-android-extensions را به عنوان اسکریپت مورد نیاز در ماژول Build.gradle برنامه خود طبق شکل زیر اضافه کنید.  فراموش نکنید تا بر روی دکمه Sync Now برای همگام سازی پروژه خود کلیک نمایید. 

1
buildscript {
2
    dependencies {
3
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
4
    }
5
}

حال بیایید یک Activity مانند آن چیزی که در قدم پیشین ساختیم، بسازیم، اما از یک چیدمان XML برای تعیین TextView استفاده کنیم.  یک فایل چیدمان XML جدید با نام another_activity.xml بسازید. در فایل چیدمان XML، یک TextView با  شناسه ی myMessage معین می کنیم.

1
<?xml version="1.0" encoding="utf-8"?>
2
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    android:orientation="vertical" android:layout_width="match_parent"
4
    android:layout_height="match_parent">
5
6
    <TextView
7
        android:layout_width="wrap_content"
8
        android:layout_height="wrap_content"
9
        android:textAppearance="?android:attr/textAppearanceLarge"
10
        android:text="Large Text"
11
        android:id="@+id/myMessage" />
12
</LinearLayout>

یک کلاس کوتلین جدید با نام، AnotherActivity، بسازید، که Activity را داراست و متد onCreate را رونویسی می کند. باید به صورت صورت عمل کرده باشید: 

1
package com.hathy.kotlinsample
2
3
import android.app.Activity
4
import android.os.Bundle
5
6
public class AnotherActivity: Activity() {
7
8
    override fun onCreate(savedInstanceState: Bundle?) {
9
        super.onCreate(savedInstanceState)
10
    }
11
}

در متد onCreate، باید setContentview را برای استفاده از چیدمان XML ای که تازه ساختید به عنوان چیدمان این Activity صدا بزنید. 

1
setContentView(R.layout.another_activity)

حال، به جای صدا زدن findViewById برای گرفتن منبع TextView، می توانید با استفاده از تکه کد زیر آن را وارد کنید:

1
import kotlinx.android.synthetic.another_activity.myMessage

اگر ویجت های بیشتری در چیدمانتان داشتید، میتوانید همه آنها را با استفاده از تکه کد زیر وارد کنید: 

1
import kotlinx.android.synthetic.another_activity.*

حال می توانید به TextView خود با استفاده از شناسه آن دسترسی داشته باشید به صورتی که آن یک خصوصیتی از کلاس Activity شماست.  برای مثال، برای تغییر متن TextView، می توانید بنویسید: 

1
myMessage.setText("Hello")

5. تبدل کلاس های جاوا به کوتلین

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

1
public class YetAnotherActivity extends Activity {
2
3
    private int a,b;
4
5
    @Override
6
    protected void onCreate(Bundle savedInstanceState) {
7
        super.onCreate(savedInstanceState);
8
        a=10;
9
        b=20;
10
        Log.d("MESSAGE", "The sum is "+(a+b));
11
    }
12
}

کلاس جاوا را به کلاس کوتلین با فشردن Control+Alt+Shift+J، یا، از منو، با انتخاب Code > Convert Java File to Kotlin File تبدیل کنید.

Convert Java file to Kotlin fileConvert Java file to Kotlin fileConvert Java file to Kotlin file

بعد از تبدیل، کلاس شما به این صورت خوااهد بود:

1
public class YetAnotherActivity : Activity() {
2
3
    private var a: Int = 0
4
    private var b: Int = 0
5
6
    override fun onCreate(savedInstanceState: Bundle?) {
7
        super.onCreate(savedInstanceState)
8
        a = 10
9
        b = 20
10
        Log.d("MESSAGE", "The sum is " + (a + b))
11
    }
12
}

همچنین می توانید ببینید که پسوند java. به kt. تبدیل شده است.

نتیجه

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

برای یادگیری بیشتر درباره کوتلین، مرور بر منبع کوتلین را به شما پیشنهاد می کنم.  قسمت "شروع به کار" به شما کمک می کند سریع با این زبان آشنایی لازم را پیدا کنید. 

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.