Hướng dẫn sử dụng Anko SQLite trong Android với Kotlin

Trong bài học Database trong Android với Kotlin chúng tôi đã hướng dẫn các bạn cách sử dụng SQLite trong Android theo cách truyền thống. Hôm nay với bài Hướng dẫn sử dụng Anko SQLite trong Android với Kotlin, chúng tôi sẽ cho các bạn thấy một cách khác để làm việc với SQLite. Đó là sử dụng Anko SQLite.

Với việc sử dụng Anko SQLite, chúng ta sẽ viết code ít hơn nhưng vẫn đảm bảo đầy đủ những xử lý liên quan đến database.

Chúng tôi sẽ hướng dẫn các bạn cách tạo một ứng dụng nhỏ làm việc với database tên users.db. Database này có một bảng tên Users gồm 2 cột là email và password. Các bạn sẽ biết khai báo database, tạo bảng, thêm dữ liệu vào bảng và lấy dữ liệu.

Hướng dẫn sử dụng Anko SQLite trong Android với Kotlin – Các bước thực hiện

Bước 1: Khai báo Anko SQLite trong build.gradle

Bước 2: Tạo một Kotlin Class kế thừa lớp ManagedSQLiteOpenHelper để khai báo tên cơ sở dữ liệu, tạo danh sách bảng trong database.

Bước 3: Khai báo và sử dụng lớp ở bước 2 tại những nơi mà chúng ta cần thao tác như thêm, xem, xóa, cập nhật database.

Hướng dẫn sử dụng Anko SQLite trong Android với Kotlin – Ví dụ mẫu

Bước 1: Tạo mới một Android project hỗ trợ Kotlin

hướng dẫn sử dụng anko sqlite trong android với kotlin

Bước 2: Khai báo Anko SQLite bằng cách mở build.gradle (Module: App) và thêm vào dòng khai báo sau

Lưu ý sau khi thêm dòng số 1, chúng ta phải chọn Sync Now để Android Studio xử lý những yêu cầu tiếp theo. 0.10.3 là phiên bản hiện tại của anko-sqlite.

Bước 3: Tạo một Data class tên Users có số lượng thuộc tính tương ứng với số cột của bảng Users bằng cách chuột phải lên project -> chọn New -> chọn Kotlin File/Class

hướng dẫn sử dụng anko sqlite trong android với kotlin

Nhập code cho lớp Users như sau

Bên trong lớp này ngoài 2 thuộc tính là email và password còn có 3 hằng số tương ứng với tên bảng và 2 tên cột. Những hằng số này sẽ được sử dụng khi cần thiết. Đây là việc làm cần thiết chứ không bắt buộc.

Bước 4: Tạo một Kotlin Class và đặt tên DatabaseHelper. Lớp này kế thừa lớp ManagedSQLiteOpenHelper

(1) là tên cơ sở dữ liệu

(2) là xử lý tạo bảng Users gồm 2 cột là email và password. Chúng tôi đã sử dụng hằng số đã khai báo bên trong lớp Users ở bước 3. TEXT là dữ liệu kiểu chuỗi. PRIMARY_KEY để thiết lập giá trị cho cột email không được trùng.

Bước 5: Thiết layout cho ứng dụng gồm 2 EditText để người dùng nhập email và password. 2 Button để đăng ký user và đăng nhập bằng cách mở tập tin activity_main.xml và thêm vào những thành phần như chúng tôi đã trình bày.

Bước 6: Cài đặt xử lý bằng cách ở MainActivity.kt

1/ Khai báo thể hiện của lớp DatabaseHelper ở phạm vi toàn cục

2/ Cài đặt xử lý cho nút Đăng ký

3/ Cài đặt xử lý cho nút Đăng nhập

Hướng dẫn sử dụng Anko SQLite trong Android với Kotlin – Build và run

1/ Nhập email, password và chọn Đăng Ký. Trong hình chúng tôi nhập email là giasutinhoc.vn@gmail.com và password là 123456

2/ Trường hợp người dùng nhập thông tin chính xác và chọn Đăng nhập

3/ Trường hợp người dùng nhập thông tin không chính xác và chọn Đăng nhập

Kết luận:

Rõ ràng việc xử lý SQLite trong Android với Kotlin với Anko SQLite thì lập trình viên viết code ít hơn. Và trong ví dụ mẫu chúng tôi chưa trình bày cách cập nhật và xóa dữ liệu. 2 xử lý này bạn đọc tự thực hành.