
KHOA CÔNG NGHỆ THÔNG TIN
HCMUTE
DATABINDING
Khoa Công nghệ Thông tin
Đại học Sư phạm Kỹ thuật TP.HCM
ThS. Nguyễn Hữu Trung

LT
VB
CN
TT
HCMUTE
Giới thiệu
Lập trình Di Động– ThS. Nguyễn Hữu Trung
225
Data Binding là một thư viện được tích hợp trong
Android Jetpack. Nó cho phép liên kết giữa dữ
liệu logic với các UI Element( ví dụ như :
TextView, EditText, ImageView…).
Điều này giúp các nhà phát triển lược bớt rất
nhiều đoạn code liên kết kiểu như: findViewById()
không cần thiết nữa.Điều này sẽ giúp cho dự án
của bạn sẽ dễ Unit Test hơn, khi lẽ ra phần liên
kết UI không thuộc vào business của ứng dụng.
Nhờ những ưu điểm của Data Binding mà Data
Binding được sử dụng rất nhiều trong các kiến
trúc ứng dụng MVP, MVVM…

LT
VB
CN
TT
HCMUTE
Cấu hình Databinding
226
Cấu hình build.gradle
Thêm thư viện support trong mục dependencies.
Bật Data Binding trong build.gradle.
dataBinding {
enabled = true
}
Ví dụ:Preview pane sẽ hiển thị giá trị default_value của TextView được
khai báo như bên dưới.
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@{person.country, default=default_value}"/>
Lập trình Di Động– ThS. Nguyễn Hữu Trung

LT
VB
CN
TT
HCMUTE
Tạo ứng dụng demo sử dụng Data Binding
227
Đầu tiên các bạn thêm class User để lưu thông tin User
gồm 2 thuộc tính: lastName và firstName.
Lập trình Di Động– ThS. Nguyễn Hữu Trung
public class User {
// firstName và lastName.
private String firstName;
private String lastName;
// tạo constructor, getter và setter
}

LT
VB
CN
TT
HCMUTE
Tạo ứng dụng demo sử dụng Data Binding
228
Bây giờ chúng ta sẽ làm việc với file layout với activity_main.xml Để sử
dụng Databinding trong layout, phần tử gốc nên bắt đầu bằng thẻ <layout>.
Cùng với nó, các thẻ <data> và <variable> được sử dụng.
Lập trình Di Động– ThS. Nguyễn Hữu Trung
<layout ...>
<data> <variable
name="..."
type="..." />
</data>
<LinearLayout ...>
<!-- YOUR LAYOUT HERE -->
</LinearLayout>
</layout>

