Sử dụng những API cơ bản trong Android với Kotlin

0
Dịch vụ dạy kèm gia sư lập trình
Bài này thuộc phần 1 của 5 phần trong series Kotlin Android cơ bản

Bài viết trước mình đã hướng dẫn các bạn cấu hình Android Studio để có thể code được Kotlin. Nếu bạn đang sử dụng Android Studio phiên bản mới nhất thì có thể bỏ qua bài viết đó mà vào thằng bài viết này.

Nếu bạn là Android Developer thif có lẽ những API này quá quen thuộc, nhắm mắt cũng có thể code được bằng Java. Nhưng với Kotlin thì lại khác, vì cú pháp hai ngôn ngữ không giống nhau.

Để khỏi bỡ ngỡ khi bắt đầu dự án Android sử dụng Kotlin, chúng ta sẽ cùng nhau xem những API trong Android cơ bản khi viết bằng Kotlin sẽ như nào nhé!

Những API trong Android cơ bản với Kotlin

#1. Chào tạm biệt findViewById

Kotlin cung cấp một plugin cho phép bạn truy cập vào nội dung của layout xml đơn giản hơn bao giờ hết.

Bạn chỉ cần thêm plugin bằng cách cấu hình build.gralde

apply plugin: ‘kotlin-android-extensions’

Sau đó thì import vào trong kotlin file nào bạn cần sử dụng plugin. Ví dụ như MainActivity.kt

import kotlinx.android.synthetic.main.activity_main.*

Cách sử dụng rất đơn giản, giả sử bạn có layout như sau:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <TextView
   	android:id="@+id/tv_vntalking"
   	android:layout_width="wrap_content"
   	android:layout_height="wrap_content"
   	android:text="Hello VNTALKING" /> 
</FrameLayout>

Bạn muốn thay đổi nội dung của TextView trên thì trong MainActivity.kt, bạn chỉ cần gọi hàm sau:

tv_vntalking.text = "Hello"

Quá ngắn gọi phải không?

Giải thích thêm: Về bản chất thì Kotlin sử dụng cơ chế tìm view trong cache, nếu trong cache không tồn tại nó sẽ tìm và add vào trong cache.

Nhìn lại dòng code thay đổi text trên:

tv_vntalking.text = "Hello"

Thực chất nó được convert thành như sau:

((TextView)this._$_findCachedViewById(id.textFramgia)).setText((CharSequence)"Hello Kotlin! I'm Framgia's staff.");

Các thuộc tính không có thực, plugin không tạo thuộc tính cho mỗi lượt xem. Nó sẽ chỉ thay thế code trong quá trình biên dịch để truy cập bộ nhớ view cache, đưa nó vào đúng loại và gọi phương thức ra.

#2. Cách khai báo Array với Kotlin

Trong Kotin, bạn cũng có thể sử dụng Array giống như Java.

Ví dụ:

val countries = arrayOf("India","USA","China","Australia","Sri Lanka")

Ngoài ra, mình giới thiệu một số kiểu dữ liệu Lists khá hay ho:

private var itemList = listOf<Int>(1, 2, 3)
//behaves like collections
private var itemListArrayList = mutableListOf<Int>(1, 2, 3)         
//avoids duplicate values
private var noDuplicateList = hashSetOf<String>("azbc", "afb", "c", "c")    
//"key" to "value"        
private var mapList = hashMapOf<String, Int>("a" to 1, "b" to 2, "c" to 3)          

#3. Vòng lặp trong Kotlin

Vòng lặp cũng vậy, cách hoạt động và cú pháp tương tự như Java. Nghĩa là các từ khóa: While, do while, break và continue hoàn toàn giống java về cơ chế.

Như từ khóa break để dừng một vòng lặp.

for ((index, value) in itemList.withIndex()) {
   Log.i("tag", "$index = $value")
}

#4. Truy cập View từ một View khác

Bạn có thể gọi subview trực tiếp từ một view khác như sau:

val itemView = itemViewCard //Là một view cha chứa nhiều các subview
itemView.itemImage.setImageResource(R.mipmap.ic_launcher)
itemView.itemTitle.text = "My Text"

Bạn thấy đấy, khi đã quen viết code với Kotlin thì bạn sẽ cảm thấy rất sướng. Số lượng dòng code giảm đi đáng kể, không còn dài lê thê như Java nữa.

Bài viết này mình đã nêu ra API trong Android với Kotlin, bài sau mình sẽ hướng dẫn các bạn cách viết Kotlin khi cần tương tác với Activity, Fragment và Dialog.

Các bạn nhớ đón đọc nhé!

Đọc thêm về “ma lực” của Kotlin:

Xem tiếp các bài trong Series
Phần kế tiếp: Kotlin Android Fragment, Activity, & Dialog Fragment
Dịch vụ phát triển ứng dụng mobile giá rẻ - chất lượng
Bài trướcSvelte.js – Tân binh JS Framework đáng gờm khiến ông lớn ReactJS, Vue lo sợ
Bài tiếp theo[Video] Học lập trình C toàn tập (10 tiếng)
Tên đầy đủ là Dương Anh Sơn. Tốt nghiệp ĐH Bách Khoa Hà Nội. Mình bắt đầu nghiệp coder khi mà ra trường chẳng xin được việc đúng chuyên ngành. Mình tin rằng chỉ có chia sẻ kiến thức mới là cách học tập nhanh nhất. Các bạn góp ý bài viết của mình bằng cách comment bên dưới nhé !

Bình luận. Cùng nhau thảo luận nhé!

avatar
  Theo dõi bình luận  
Thông báo