Advertisement
  1. Code
  2. Android SDK

Sử dụng Kotlin trong các dự án Android của bạn

Scroll to top
Read Time: 7 min

Vietnamese (Tiếng Việt) translation by Dai Phong (you can also view the original English article)

Giới thiệu

Kotlin, ngôn ngữ mã nguồn mở được thiết kế bởi JetBrains, đang dần trở nên phổ biến cùng với Java. Nó thường được xem như là người kế nhiệm của Java. So với Java, nó cung cấp một trải nghiệm phát triển tốt hơn, bởi vì nó hiện đại hơn, dễ diễn đạt, và ngắn gọn.

Nếu bạn đang tìm kiếm một ngôn ngữ lập trình khác cho việc phát triển Android, thì bạn nên thử qua Kotlin. Nó có thể được sử dụng để thay thế hoặc cùng với Java trong các dự án Android của bạn.

Trong bài viết này, tôi sẽ cho bạn thấy làm thế nào để sử dụng Kotlin và các plugin Kotlin trong các dự án Android Studio của bạn.

Các yêu cầu

Để nắm bắt tốt bài viết này, bạn cần phải có:

  • Phiên bản mới nhất của Android Studio
  • Kiến thức căn bản về cú pháp của Kotlin

Nếu bạn không quen với ngôn ngữ lập trình Kotlin, thì tôi khuyên bạn nên đọc phần Bắt đầu trong tài liệu tham khảo của Kotlin để nhanh chóng làm quen với ngôn ngữ.

1. Cài đặt các Kotlin Plugin

Trong Menu truy xuất nhanh của Android Studio, chọn Configure > Plugins.

Configure PluginsConfigure PluginsConfigure Plugins

Trong màn hinh kế tiếp, nhấp vào Install JetBrains plugin... ở phía dưới.

Install JetBrains pluginInstall JetBrains pluginInstall JetBrains plugin

Chọn Kotlin Extensions For Android từ danh sách và nhấp vào Install Plugin ở phía bên phải.

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

Bởi vì plugin dựa trên Kotlin plugin, nên bạn sẽ được yêu cầu cài đặt cả hai. Nhấn Yes để bắt đầu việc cài đặt.

Plugin Dependencies DetectedPlugin Dependencies DetectedPlugin Dependencies Detected

Khi việc cài đặt hoàn tất, khởi động lại Android Studio để kích hoạt các plugin.

2. Tạo một Activity Kotlin

Trong Android Studio, nhấp chuột phải vào tên gói thư viện của bạn và chọn New > Kotlin File.

New Kotlin FileNew Kotlin FileNew Kotlin File

Bản thông báo xuất hiện, nhập tên của Activity mới và chọn Class từ danh sách. Tôi đã đặt tên lớp của tôi là MainActivity.

New Kotlin file dialogNew Kotlin file dialogNew Kotlin file dialog

Một khi lớp đã được tạo, bạn sẽ thấy một thông báo yêu cầu bạn thiết lập mô đun ứng dụng của bạn để hỗ trợ Kotlin.

Configure Kotlin alertConfigure Kotlin alertConfigure Kotlin alert

Nhấp vào liên kết trong thông báo, sau đó nhấp tiếp OK để chọn các giá trị mặc định.

Configure Kotlin dialogConfigure Kotlin dialogConfigure Kotlin dialog

Để cấu hình ứng dụng của bạn có thể hỗ trợ Kotlin, plugin Kotlin tạo ra một số thay đổi trong file build.gradle. Áp dụng các thay đổi này bằng cách nhấn vào nút Sync Now như ở phía dưới.

Sync Now pop upSync Now pop upSync Now pop up

Tại thời điểm này, cấu hình ứng dụng của bạn đã hoàn tất. Quay trở lại lớp Kotlin mà bạn tạo cách đây ít lâu để bắt đầu viết code bằng Kotlin.

3. Sử dụng Kotlin

Để cho ví dụ trở nên đơn giản, tôi sẽ chỉ cho bạn cách làm thế nào để tạo một Activity với một TextView hiện thị một Chuỗi.

Hãy chắc rằng lớp của bạn là lớp con của Activity và override phương thức onCreate của nó. Tất nhiên, bạn phải làm điều đó trong Kotlin. Nếu bạn là người mới làm quen Kotlin, tôi khuyên bạn sử dụng chức năng tự tạo code của Android Studio bằng cách nhấn Control + O để có được các phương thức đúng.

Override Members dialogOverride Members dialogOverride Members dialog

Lớp của bạn sẽ trông giống thế này đây:

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
}

Tạo một thực thể của TextView như là một biến cục bộ được gán một lần bằng cách sử dụng từ khoá val.

1
val myMessage = TextView(this)

Gọi phương thức setText của nó để gán Chuỗi mà bạn mong muốn và sau đó gọi phương thức setContentView để hiển thị text view.

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

Cũng như cách bạn làm đối với một Activity Java, thì bạn cũng cần định nghĩa Activity Kotlin của bạn trong file AndroidManifest.xml của ứng dụng của bạn để nó có thể nhận biết được bởi Hệ thống của Android. Nếu đây chỉ là Activity trong dự án của bạn, thì file manifest sẽ trông giống thế này:

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>

Bạn có thể biên dịch và chạy ứng dụng trong thiết bị Android của bạn hoặc trình mô phỏng. Vì trình biên dịch của Kotlin làm việc hơi chậm so với của Java, nên bạn sẽ không thể nhìn thấy bất kỳ thay đổi đáng kể trong thời gian build của dự án của bạn.

4. Sử dụng Kotlin Android Extensions

Plugin Kotlin Android Extensions cho phép bạn xem các widget mà bạn định nghĩa trong layout XML của một Activity như các thuộc tính của Activity đó. Nói cách khác, nếu bạn sử dụng plugin này, bạn sẽ không bao giờ phải gọi phương thức findViewById. Các thuộc tính này được gọi là synthetic properties.

Để sử dụng tính năng này trong ứng dụng của bạn, thì bạn cần thêm org.jetbrains.kotlin:kotlin-android-extensions như là một mã buil phụ thuộc trong mô đun build.gradle của ứng dụng như chỉ ra bên dưới. Đừng quên nhấn vào nút Sync Now để đồng bộ dự án của bạn.

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

Bây giờ hãy tạo một Activity giống với cái mà bạn đã tạo ở bước trước đó, nhưng sử dụng layout XML để định nghĩa TextView. Tạo một file layout XML mới  đặt tên là another_activity.xml. Trong file layout XML, định nghĩa một TextView với một id của 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>

Tạo một lớp Kotlin khác, AnotherActivity mở rộng Activity và override phương thức onCreate của nó. Việc cài đặt sẽ trong giống thế này:

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
}

Gọi phương thức setContentView trong phương thức onCreate để sử dụng layout XML mà bạn vừa mới tạo như là layout của Activity này.

1
setContentView(R.layout.another_activity)

Bây giờ, thay vì gọi phương thức findViewById để lấy một tham chiếu của TextView, bạn hãy nhập nó sử dụng đoạn code sau đây:

1
import kotlinx.android.synthetic.another_activity.myMessage

Nếu như bạn có nhiều widget trong layout, bạn có thể nhập tất cả chúng sử dụng đoạn code sau: 

1
import kotlinx.android.synthetic.another_activity.*

Bây giờ bạn có thể truy xuất TextView sử dụng id của nó như là một thuộc tính của lớp Activity. Ví dụ, để thay đổi chữ của TextView, bạn có thể viết:

1
myMessage.setText("Hello")

5. Chuyển các lớp Java thành Kotlin

Bạn có thể sử dụng plugin Kotlin để chuyển đổi các lớp Java sẵn có thành các lớp Kotlin. Để thử chức năng này, tạo một lớp Java mới với cài đặt sau đây. Nó là một Activity đơn giản, lưu lại tổng của hai số nguyên.

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
}

Chuyển đổi lớp Java sang một lớp Kotlin bằng cách nhấn tổ hợp phím Ctrl + Alt + Shift + J, hoặc, từ menu, chọn Code > Convert Java File to Kotlin File.

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

Sau khi chuyển đổi, lớp của bạn sẽ trông giống thế này:

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
}

Bạn cũng sẽ để ý thấy rằng phần đuôi mở rộng của file đã đổi từ .java sang .kt.

Kết thúc

Trong bài hướng dẫn này, bạn đã học làm thế nào để sử dụng Kotlin trong các dự án Android của bạn sau khi cài đặt plugin Kotlin và plugin Kotlin Android Extensions cho Android Studio. Vì các lớp Kotlin và Java có thể tương với nhau rất lớn, nên nếu bạn tiếp tục học Kotlin, tốt nhất là đưa nó vào trong các dự án Android của bạn một cách từ từ.

Để tìm hiểu thêm về Kotlin, tôi khuyên bạn nên xem tài liệu tham khảo của Kotlin. Phần Getting Started sẽ giúp bạn bắt đầu nhanh chóng làm quen với ngôn ngữ mới này.

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.