Bắt đầu với Kotlin trên Android Studio

Giới thiệu

Kotlin được hỗ trợ đầy đủ trong Android Studio 3.0, do vậy dễ dàng tạo các dự án mới với các files Kotlin, thêm các files Kotlin vào project hiện tại của bạn và chuyển đổi ngôn ngữ Java sang Kotlin.

1.Tạo project với Kotlin

  • Trên Android Studio, click File > New > New Project. Hoặc nếu bạn đang trên màn hình Welcome to Android Studio, chọn Start a newAndroid Studio project.
  • Trên màn hình đầu tiên, chọn Include Kotlin support.
  • Tiếp tục nhấn Next cho đến khi hoàn thành Khi bạn chọn một Template Activity thì nó sẽ được cung cấp code Kotlin hiện tại chỉ support một vài mẫu template cho Phone và Tablet. Tương tự như Java các file code được lưu ở : src/main/java/

2.Thêm Kotlin vào project có sẵn

Nếu bạn muốn thêm Kotlin vào project có sẵn các đơn giản là chọn: File > New và chọn một mấu Activity. Tiếp theo chọn ngôn ngữ Koltin Cách khác bạn có thể chọn : File > New > Kotlin File/Class để tạo một file Kotlin đơn giản.

3.Chuyển Java code sang Kotlin code

Trong Android Studio 3.0, bạn mở một file Java và chọn Code > Convert Java File to Kotlin File. Hoặc, tạo một Kotlin file (File > New > Kotlin File/Class), copy java code vào lúc này hiện dialog xác nhận các bạn bấm YES

4.Sử dụng Android APIs với Kotlin

Kotlin cung cấp khả năng tương tác hoàn chỉnh với ngôn ngữ Java, vì vậy khi bạn gọi các API Android thường giống chính xác như mã Java. Declare Activity in Kotlin

class MyActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity)
  }
}

Declare Activity in Java

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);
  }
}

On-click listener in Kotlin

val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener {
  ...
}

On-click listener in Java

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {
    ...
  }
});