Thực hành SQLite với Sugar ORM

Khóa học lập trình Android cơ bản

5.0 (1 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 5 năm trước 44.133 lượt xem 0 bình luận
Tác giả/Dịch giả: Kteam
Học nhanh

Danh sách bài học

Thực hành SQLite với Sugar ORM

Dẫn nhập

Ở các bài học trước, chúng ta đã cùng nhau tìm hiểu vềTHỰC HÀNH SQLITE QUA VÍ DỤ. Bài trước nữa thì là LÝ THUYẾT LƯU TRỮ DỮ LIỆU VỚI SQLITE, và tác dụng của nó khi áp dụng vào ứng dụng Android.

Đã trót là phải trét, chúng ta quẩy nốt bài cuối cùng về SQLite nhé. Bài này chúng ta sẽ làm việc với SugarORM, một thư viện ORM (Object Relational Maping) khá ngon của Android. Có tác dụng ánh xạ đối tượng Java với bảng SQLite qua các API rất dễ hiểu.


Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

  • Cách nhập thư viện SugarORM vào ứng dụng Android.
  • Làm một ứng dụng đơn giản sửa xoá các trường, mà chỉ dùng code Java.

Cài đặt SugarORM

SugarORM không có dependency nào khác, tức là chỉ cần download file jar chứa thư viện là đủ, hoặc cách dễ nhất là thêm dependency vào file app/build.gradle. Kiểu kiểu như sau:

Trong đoạn trên chú ý dòng này nhé:

compile 'com.github.satyan:sugar:1.5'

  • Phiên bản hiện thời là 1.5, và đang hoạt động khá là ổn. Tiếp theo, chúng ta sửa file AndroidManifest.xml thành như sau:

Chú ý những dòng sau là những dòng thêm vào:

Chúng là những thông tin cần thiết để cấu thành database SQLite. Cụ thể là:

Thực hành SQLite-SugarORM


Sử dụng SugarORM

Để tạo các model trong bảng, chúng ta chỉ cần cho nó extend từ lớp SugarRecord <Tên_Model> , quá dễ dàng và đơn giản!

Tuy nhiên cần lưu ý:

Phải luôn có default constructor (constructor mặc định, không có tham số truyền vào, và không phải private).

SugarORM bản 1.2 cũ, bạn phải thêm 1 constructor có tham số đầu vào là một Context.

Và thế là xong, SugarORM sẽ tự tạo bảng cho bạn dựa trên Model đã tạo. SugarORM cũng rất thông minh, nếu như tên trường bạn đặt là fullName thì khi tạo cột, nó sẽ tạo ra cột với tên là full_name (rất quan trọng khi truy vấn).

  • Tạo liên kết giữa các model cũng khá là dễ dàng. Ví dụ ta cần cho một cột mới có tên là “Tool”:
  • Vào bảng Person:
  • Để lấy danh sách các trường trong bảng, lấy tất cả, chỉ cần:
  • Để thêm một bản ghi mới:
  • Để xoá tất cả các bản ghi:
  • Xoá một bản ghi ở vị trí đầu tiên trong bảng:
  • Hoặc lấy bản ghi đầu tiên ra thôi:

Quá đơn giản phải không nào? Và để làm lại ứng dụng buổi trước bằng Sugar ORM, chúng ta chỉ cần làm theo các bước đơn giản sau:

Bước 1: Tạo project, lần này chúng ta sẽ lấy tên là SugarORMEx:

Thực hành SQLite-SugarORM

Bước 2: Thêm dependency SugarORM vào file build.gradle

Bước 3: Tạo class model, ở đây chúng ta sẽ lấy là “Person”:

Bước 4: Bước này cực kỳ quan trọng: Chỉnh sửa file AndroidManifest như sau:

Nên nhớ kỹ: Phần VERSION luôn phải đặt trên 1, và mỗi khi có model mới, bạn phải nâng số này lên.

Bước 5: Đổi lại nội dung file activity_main.xml:

Và cuối cùng là chỉnh sửa file MainActivity.java, các đoạn code có giải thích như comment:

Trước khi chạy, các bạn nên tắt Instant Run của Android Studio. Vào File > Settings (hoặc Preferences). Trên Mac thì là Android Studio > Preferences:

Thực hành SQLite-SugarORM

Chạy, ở đây danh sách hiển thị là object và mã hash của object nên nhìn hơi ngố ngố tẹo, các bạn hoàn toàn có thể sửa bằng cách tạo adapter riêng:

Thực hành SQLite-SugarORM


Vậy là bạn đã tiết kiệm được:

  • Thời gian tạo SQLiteDBHelper.
  • Thời gian tạo class DataSource.

Đồng thời là code ngắn hơn, dễ hiểu hơn rất nhiều. Ngoài SugarORM, còn rất nhiều thư viện khác như:

  • Requery
  • ORMLite
  • DBFlow
  • Squidb
  • GreenDAO
  • ActiveAndroid
  • Cupboard

Kết luận

Qua bài này chúng ta đã nắm được ORM là gì, tác dụng của nó với SQLite ra sao, và viết một ứng dụng đơn giản sử dụng Sugar ORM.

Bài sau chúng ta sẽ tìm hiểu về CÁCH TÍCH HỢP FACEBOOK VÀO ỨNG DỤNG - Phần 1.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Thực hành SQLite với Sugar ORM dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Khóa học lập trình Android cơ bản

Serial tutorial hướng dẫn lập trình Android cơ bản

Đánh giá

Vo Tan Duc đã đánh giá khoảng 1 năm trước

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Không có video.