Kotlin được hỗ trợ đầy đủ trong Android Studio 3.0 (Tại đây), 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.
Sau đó bạn có thể sử dụng tất cả các công cụ hiện có của Android Studio với code Kotlin của bạn, chẳng hạn như: autocomplete, lint checker, refactoring, debugging….
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 new Android 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.
Theo mặc định, tệp tin Kotlin mới được lưu vào src/main/java/. Bạn có thể tìm thấy cả hai tệp Kotlin và Java ở một vị trí dễ dàng hơn.
Nhưng nếu bạn muốn tách các tập tin Kotlin khỏi các tệp Java của mình, bạn có thể đặt các tệp Kotlin dưới src/main/kotlin/ để thay thế. Để làm như vậy bạn cần thay đổi trong sourceSets như sau:
android { sourceSets { main.java.srcDirs += 'src/main/kotlin' } }
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
public class MyActivity extends AppCompatActivity { @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) { ... } });
Item click listener in Kotlin
private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item -> when (item.itemId) { R.id.navigation_home -> { mTextMessage.setText(R.string.title_home) return@OnNavigationItemSelectedListener true } R.id.navigation_dashboard -> { mTextMessage.setText(R.string.title_dashboard) return@OnNavigationItemSelectedListener true } } false }
Item click listener in Java
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.navigation_home: mTextMessage.setText(R.string.title_home); return true; case R.id.navigation_dashboard: mTextMessage.setText(R.string.title_dashboard); return true; } return false; } };
Để tìm hiểu thêm về ngôn ngữ Kotlin, xem tại đây.
Bình luận đã bị khoá.