Bài viết được sự cho phép của tác giả Lê Hồng Kỳ
Thông qua bài Sqlite trong android chúng tôi muốn giới thiệu SQLite là một cơ sở dữ liệu mã nguồn mở được sử dụng để lưu trữ dữ liệu dạng văn bản (text) trên thiết bị di động.
SQLite hỗ trợ tất cả các tính năng của cơ sở dữ liệu quan hệ. Để truy cập cơ sở dữ liệu SQLite, bạn không cần phải thiết lập bất kỳ một loại kết nối đến SQLite như JDBC, ODBC,…
SQLite là hệ quản trị cơ sở dữ liệu cho nền tảng mobile như Android, IOS, Windows Phone. SQLite được sử dụng để quản lý thông tin bao gồm các chức năng như lưu trữ và truy xuất thông tin.


SQLite trong Android – Các bước thực hiện
Bước 1: Tạo một lớp kế thừa lớp SQLiteOpenHelper dùng để thao tác với cơ sở dữ liệu. Trong đó ClassName là tên lớp.
Xây dựng phương thức thêm dữ liệu
public void methodName([parameter]) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put(columnName1, value); cv.put(columnName2, value); ... db.insert(tableName, null, cv); }
Xây dựng phương thức cập nhật dữ liệu
Xây dựng phương thức xoá dữ liệu
public void methodName([parameter]) { SQLiteDatabase db = this.getWritableDatabase(); String whereClause = "columnName1 = ? …"; String whereArgs[] = {value1,…}; db.delete(tableName, whereClause, whereArgs); }
Xây dựng phương thức truy vấn dữ liệu không có điều kiện
Xây dựng phương thức truy vấn dữ liệu có điều kiện
Bước 2: Sử dụng lớp đã tạo ở bước 1 trong activity
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_qlsv); //Khai báo đối tượng ClassName objectName = new ClassName(); }
Trong đó:
- ClassName là tên lớp đã xây dựng ở bước 1
- objectName là tên đối tượng. Sử dụng đối tượng này để truy xuất các phương thức thêm, cập nhật, xoá hoặc truy vấn dữ liệu
SQLite trong android – Ví dụ mẫu xây dựng ứng dụng quản lý danh sách khách hàng


Màn hình thêm mới khi người dùng chạm vào “Add New”


Khi người dùng chạm vào “SAVE CONTACT“, quay về màn hình chính


Để chỉnh sửa hoặc xoá thông tin khách hàng, người dùng chạm vào khách hàng sau đó chọn thao tác Edit Contact hoặc Delete Contact từ menu


Tham khảo việc làm Android Developer Hồ Chí Minh tại TopDev
SQLite trong android – Các bước thực hiện
Bước 1: Tạo java class tên DBHelper. Code đầy đủ của DBHelper
Bước 2: Tạo activity DisplayContactActivity
Thiết kế layout


Thiết kế menu display_contact: Chuột phải menu -> chọn New -> chọn Menu resource file


Bổ sung đoạn code sau vào display_contact.xml
<item android:id="@+id/Edit_Contact" android:orderInCategory="100" android:title="@string/edit"/> <item android:id="@+id/Delete_Contact" android:orderInCategory="100" android:title="@string/delete"/>
Thiết kế menu menu_sqlite_sample: Chuột phải menu -> chọn New -> chọn Menu resource file. Bổ sung đoạn code sau vào menu_sqlite_sample.xml
<item android:id="@+id/item1" android:title="@string/Add_New" > </item>
Bổ sung đoạn code sau vào string.xml


Viết xử lý cho DisplayContactActivity. Code đầy đủ của DisplayContactActivity
Bước 3: Tạo activity SqliteSampleActivity
Thiết kế layout


Viết xử lý cho SqliteSampleActivity. Code đầy đủ của SqliteSampleActivity
Sqlite trong android – Bài tập thực hành
Xây dựng ứng dụng ToDoList (Danh sách công việc cần thực hiện)
- Tên cơ sở dữ liệu là todolistdb
- Tên bảng dữ liệu todolisttbl, có cấu trúc như sau
FieldName | Type | Description |
id | Integer | Khóa chính (Primary Key), kiểu số nguyên tự tăng (AutoIncrement) |
job | Text | Nội dung công việc cần nhớ |
date | Text | Thời gian công việc cần phải thực hiện |
Thiết kế giao diện cho ứng
Khi chọn nút lệnh “Thêm”, chuyển sang màn hình cho phép nhập nội dung và thời gian thực hiện công việc (Hình 2). Khi người dùng chọn nút lệnh “Lưu và trở về”, thực hiện lưu nội dung công việc vào cơ sở dữ liệu, quay về màn hình 1 và hiển thị tất cả nội dung công việc đã tạo.


Trường hợp muốn xóa 1 công việc dự định trong danh sách hay tất cả công việc trong danh sách, người dùng chọn và giữ trên mục công việc để hiện lên context menu và chọn chức năng cần thiết. Lưu ý, bổ sung thêm chức năng cho phép người dùng cập nhật lại nội dung và thời gian thực hiện trong context menu.


Bài viết gốc được đăng tải tại giasutinhoc.vn
Bạn có thể xem thêm:
- 8 câu hỏi phỏng vấn dành cho các lập trình viên Mobile app
- Tạo Splash Screen cho Android như thế nào là “chuẩn” nhất?
- Lập trình viên mobile cần học những gì?
Tìm việc làm IT mọi cấp độ tại TopDev