1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo giữa kì tìm hiểu về view binding và data binding

16 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về View Binding và Data Binding
Tác giả Nguyên Phúc Bảo Danh, Huỳnh Huỳnh Đức, Nguyên Thanh Quí
Người hướng dẫn Thầy Trần Đại Nhân
Trường học Trường Đại học Tôn Đức Thắng
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo giữa kỳ
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 16
Dung lượng 1,12 MB

Nội dung

Android Studio hỗ trợ Data Binding những gì?...- sec 5 CHƯƠNG 3-— SỰ KHÁC BIỆT GIỮA VIEW BINDING VÀ DATA BINDING...7... CHUONG 1 - VIEW BINDING 1.1 Khai niém cua view binding ViewBindi

Trang 1

TONG LIEN DOAN LAO DONG VIET NAM

TRUONG DAI HOC TON ĐỨC THẮNG

KHOA CONG NGHE THONG TIN

7a

BAO CÁO GIỮA KĨ

TÌM HIẾU VE VIEW BINDING VÀ DATA BINDING

Người hướng dân: THẤY TRẤN ĐẠI NHÂN Người thực hiện NGUYÊN PHÚC BẢO DANH - 52000193

HUỲNH HUỲNH ĐỨC - 52000197 NGUYÊN THANH QUÍ - 52000511

Lớp : 20050301

Khoá : 24

THANH PHO HO CHi MINH, NAM 2022

Trang 2

il

TONG LIEN DOAN LAO DONG VIET NAM

TRUONG DAI HOC TON ĐỨC THẮNG

KHOA CONG NGHE THONG TIN

7a

BAO CÁO GIỮA KĨ

TÌM HIẾU VE VIEW BINDING VÀ DATA BINDING

Người hướng dân: THẤY TRẤN ĐẠI NHÂN Người thực hiện NGUYÊN PHÚC BẢO DANH - 52000193

HUỲNH HUỲNH ĐỨC - 52000197 NGUYÊN THANH QUÍ - 52000511

Lớp : 20050301

Khoá : 24 THÀNH PHÓ HÒ CHÍ MINH, NĂM 2022

LOI CAM ON

Trang 3

1H

Chúng em xin chân thành cảm ơn thầy Trần Đại Nhân đã cung cấp đủ kiến thức trên lớp và hồ trợ chúng em trong quá trình hoàn thành bài báo cáo giữa kỳ một cách

tốt nhất có thê ạ

Chung em xin cam on a!

Trang 4

CONG TRINH DUOC HOAN THANH

TAI TRUONG DAI HOC TON DUC THANG

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của thầy Trần Đại Nhân: Các nội dung nghiên cứu, kết quả trong đề tài nay là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phân tài liệu tham khảo

Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh gia cũng như số liệu

của các tác giả khác, cơ quan tô chức khác đều có trích dẫn và chú thích nguồn gốc Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm

về nội dung luận văn của mình Trường đại học Tôn Đức Thắng không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

TP Hồ Chí Minh, ngày 12 tháng 12 năm

Tác giả (ký tên và ghỉ rõ họ tên)

Nguyễn Phúc Bảo Danh

Huỳnh Huỳnh Đúc

Nguyễn Thanh Qui

Trang 5

TOM TAT

Đây là báo cáo giữa kỳ Phát triển ứng dung di động với đề tài: “Tìm hiểu về View Binding va Data Binding” Bai bao cao là nội dung được tìm hiểu qua nghiên cứu

vệ dé tai nay

Trang 6

MUC LUC

1.1 Khái niệm của view binding - 0 222222112 222k re 2 1.2 Các tính năng liên kết trong Android Studio - 5c 2

13 Sử dụng View Binding an toàn - - 2111111122 He 3 1.4 Các bước thực hiện Q.0 2.10 11222122 HH nhu 3 CHƯƠNG 2— DATA BINDING SH tre 5 2,1 Khái niệm của Data Binding - Q0 222212 He 5 2.2 Đề sử dụng Data Binding cần những gì? Sen 5 2.3 Android Studio hỗ trợ Data Binding những gì? - sec 5

CHƯƠNG 3-— SỰ KHÁC BIỆT GIỮA VIEW BINDING VÀ DATA BINDING 7

Trang 7

DANH MUC CAC BANG BIEU, HINH VE, DO THI DANH MUC Hi

Hình L I: Khái mệm View Bimdlng - c 12c 2222111211211 1511155 1111511151811 ve

Y

Hình 2 I: Khái nệm Data Binding c2 1211222111211 2 2111121118115 2 111kg vey Hinh 3 1: Minh hoa ViewBinding và DataBinding 5 c2 12221222

Trang 8

CHUONG 1 - VIEW BINDING

1.1 Khai niém cua view binding

ViewBinding là một thành phần trong Android Jetpack, nó giúp ta xóa bỏ bước ñndViewBindID trong quá trình code bằng các tạo ra các class tương ứng với các ñle xml trong project

android {

viewBinding (

enabled = true

Hình | 1: Khai niém View Binding View binding cé L vài điểm hay hơn so với ñndViewByld:

+ Null safety: Vi view binding tao tham chiéu trực tiếp tới view, do đó không có rui ro nhu Null Pointer Exception khi invalid view ID

+ Type safety: Fileds trong méi class binding co nhiing type matching view voi tham chiéu trong file xml Do d6, khéng có rủi ro vdi class cast exception

Và tính năng quan trong nhất về View Binding là nó luôn an toàn Trong bài viết chỉ tiết này, nó đã được cung cấp một cách chỉ tiết cho View Binding

- Kích hoạt view binding trong build.gradle (không phụ thuộc vào các thư viện

được implement)

- View binding tạo ra các đối tượng liên kết cho mọi layout trong module của bạn (activity_awesome.xmÌ —› Acftivity AwesomeBinding.Java)

Trang 9

- Đối tượng binding chứa một thuộc tính cho mọi View với một id trong layout -

với chính xác từng kiêu và không bị null

- Hỗ trợ đầy đủ cho cả Java và Kotlin

1.2 Các tính năng liên kết trong Android Studio

- ViewBinding luôn null safe và type-saf, hỗ trợ cả Java và Kotlin

- _ ViewBimding được giới thiệu trong Gradle phiên ban 3.6 trở lên (đi kèm với Android Studio 4.0, chỉ có gradle 3.6)

- ViewBinding cũng giúp giảm mã soạn sẵn, do đó giảm dư thừa mã

- Trong khi sử dụng các quy ước đặt tên thích hợp của ViewBinding, cần phải tuân theo vì nó tạo ra lớp liên kết bên trong bằng cách sử dụng tên của cùng một

tệp bổ cục Ưu tiên đặt tên tệp bổ cục trong snake case Vi du: ViewBinding tạo

tép activity main.xml (snake case) dudi dang ActivityMainBinding (pascal case), tệp này chứa tất cả thuộc tính và phiên bản của tất cả các views có trong

bố cục đó

ViewBinding sẽ chuyển đổi chúng thành camel case Ví dụ:

android:id="button_submit” -> buttonSubmit Diéu nay rat hitu ich trong kha

năng đọc mã

- Su dụng ViewBimding, quá trỉnh biên dịch mã nhanh hơn một chút so với phương thức ñndViewByldQ truyền thống

-_ Lớp ActiviyMainBinding được tạo trong đường dẫn sau trong hệ thống phân cấp dự án, điều này có thê được xem

1.3 Sử dụng View Binding an toàn

Xem ràng buộc có những lợi thế quan trọng hơn việc sử dụng ñndViewByld:

Trang 10

An toàn không: Vì ràng buộc Views tạo tham chiếu trực tiếp đến Views nên không có

nguy cơ ngoai lé con tré null do ID Views không hợp lệ Ngoài ra, khi một dạng xem

chỉ xuất hiện trong một số cầu hình của bồ cục, thì trường chứa tham chiếu của nó

trong lớp liên kết được đánh dấu bằng (@Nullable

Loại an toàn: Các trường trong mỗi lớp liên kết có các loại phù hợp với dạng xem mà chúng tham chiếu trong tệp XML Điều này có nghĩa là không có nguy cơ xảy

ra ngoại lệ phân lớp

Những điểm khác biệt này có nghĩa là sự không tương thích giữa bố cục và mã

của bạn sẽ dẫn đến việc bản dựng của bạn bị lỗi trong thời gian biên dịch thay vì trong

thời gian chạy

1.4 Các bước thực hiện

Bước |: Tao mét dự án hoạt động trong

Bước 2: Kích hoat tinh nang ViewBinding

buildFeatures {

viewBinding = true

Cần phải bật tinh nang ViewBinding trong Android Studio 4.0 trở lên, bên trong tệp cấp độ bản dựng cấp ứng dụng

Gọi đoạn mã sau bên trong phần thân androidƒ} của tệp gradle

Bước 3: Thao tác với file Activity_ main.xml

Bước 4: Làm việc với tệp MainActivity

Trang 11

CHUONG 2 — DATA BINDING

2.1 Khai niém cua Data Binding

Data Binding la mét thy 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ư : TexfView, Ediflext, 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ư: find ViewByld() 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 dung MVP, MVVM

Android Data Binding

Data Binding

Trang 12

Hinh 2 1: Khai niém Data Binding 2.2 Đề sử dụng Data Binding cần những gì?

Chính vì Data Binding được tích hợp trong Android Jetpack nên khả năng tương thích ngược rất tốt Bạn có thê chạy Data Binding cho các thiết bị Android 4.0 trở lên

Về Android Plugin for Gradle, mình khuyến khích các bạn cứ bản mới nhất mà dùng Tuy nhiên, theo thông tin từ Google thì Data Binding hỗ trợ từ phiên bản 1.5.0 trở lên

Chốt lại, dưới đây là thông tin phiên bản tối thiêu hỗ trợ Data Binding:

® Android Support Library > 15.0

e Android M SDK 23.0

® Android Studio 1.3 tro 1én

2.3 Android Studio hồ trợ Data Binding những gì?

Có một số điểm hay ho là Android Studio hỗ trợ bạn code Data Binding kha tot

Mét s6 tinh nang ma Android Studio hé tro như:

e© - Hỗ trợ làm nỗi bật Syntax

* References, bao gém cả navigation

© - Đánh dấu lỗi cú pháp

¢ Ngoai ra, ban dé y Preview panel trong Layout Editor sẽ hiển thị giá trị mặc dinh data binding néu được cung cấp

Trang 13

CHUONG 3- SU KHAC BIET GIU'A VIEW BINDING VA DATA BINDING

Hinh 3 1: Minh hoa ViewBinding va DataBinding

ViewBinding la mot loai tap hop con cia DataBinding cac thu vién co nghia là ViewBinding và DataBidingcó thê thực hiện các công việc giống nhau về bố cục ràng buộc Và điều đó cũng có nghĩa là DataBinding, bạn có thê không can ViewBindingvi

nó sẽ làm những gì ViewBindingđược cho là phải làm và cũng cung cấp một chút chức năng bô sung như ràng buộc 2way và sử dụng các biến trong XMIL tệp

- - Sự khác nhau giữa View Binding và DataBinding

Trang 14

Thu vién View Binding nhanh hon thu vién Data Binding vi no khéng sw

dụng bộ xử lý chú thích bên dưới và khi nói đến tốc độ thời gian biên dịch

thì View Bmding hiệu quả hơn

Chức năng duy nhất của View Binding là ràng buộc các khung nhìn trong

mã Mặc dù Data Binding cung cấp thêm một số tùy chọn như Binding Expressions, cho phép chúng ta viết các biểu thức, các biến kết nối với các khung nhìn trong layout

Thư viện Data Binding hoạt động với các đối tượng Dữ liệu quan sát được, bạn không phải lo lắng về việc làm mới giao diện người dùng khi dữ liệu cơ bản thay đôi

Thư viện data binding cung cấp cho chúng tôi Bộ điều hợp liên kết Thư viện Data Binding cung cấp cho chúng ta tính năng Two way Data

Binding, day là một kỹ thuật liên kết các đối tượng của bạn với bé cuc xml,

đề cả đôi tượng và bô cục có thé gửi dữ liệu cho nhau

Trang 15

10

TAI LIEU THAM KHAO

Nguyén Khac Binh (2020), Ste dung ViewBinding thay thé cho findviewbyid() trong android bttps://viblo.asia/p/su-dung-view-binding-thay-the-cho- findviewbyid-trong-android-aWj53DwPK6m

View Binding https://developer.android.com/topic/libraries/view-binding

Son Duong, Si dung Data Binding trong Android hiệu quả

hftps:/vntalking.com/su-dung-data-binding-trong-android.html#:~:text=L.-.Data

%20Binding%201%C3 %A0%20g%C3%AC%3F,()%20kh%C3%B4ng%2 0c

%EIMBA%A7TN%20thi%E 1 %“BA%BFt%20n%E1%BB%AFa

Wanja Mike (2021), How to use View Binding in Android

https://www.section.io/engineering-education/view-binding-in-android/

Trang 16

lãi

5 Duong Ngoc Hanh (2019), Android: Sự khác biệt giữa DataBinding va View Binding https://helpex.vn/question/android-su-khac-biet-giua-databinding- yva-viewbinding-60bc9903d24b80926dbd18a8

Ngày đăng: 27/09/2024, 19:27

w