Bài viết được sự cho phép của tác giả Lê Hồng Kỳ
Thông qua bài viết này, chúng ta sẽ cùng tìm hiểu về SQLite trong Android và cách sử dụng nó một cách hiệu quả. 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 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ệ và không đòi hỏi thiết lập kết nối đặc biệt như JDBC hay ODBC. Điều này làm cho SQLite trở thành một lựa chọn lý tưởng cho việc quản lý thông tin trên các nền tảng di động như Android, IOS và Windows Phone.
SQLite trong Android - Các bước thực hiện
Bước 1: Tạo lớp kế thừa từ SQLiteOpenHelper
Đầu tiên, chúng ta cần tạo một lớp kế thừa từ lớp SQLiteOpenHelper để thao tác với cơ sở dữ liệu. Trong lớp này, chúng ta sẽ xác định các phương thức để tạo, cập nhật, xoá và truy vấn dữ liệu.
public class TenLop extends SQLiteOpenHelper {
// Phương thức khởi tạo
// Phương thức onCreate
public void onCreate(SQLiteDatabase db) {
String sql = "câu lệnh tạo bảng";
db.execSQL(sql);
}
// Các phương thức khác như thêm dữ liệu, cập nhật dữ liệu, xoá dữ liệu và truy vấn dữ liệu
}
Xây dựng phương thức thêm dữ liệu
public void tenPhuongThuc([tham số]) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(tenCot1, giaTri1);
cv.put(tenCot2, giaTri2);
// Thêm nhiều cột và giá trị khác nếu cần
db.insert(tenBang, null, cv);
}
Xây dựng phương thức cập nhật dữ liệu
public void tenPhuongThuc([tham số]) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(tenCot1, giaTri1);
cv.put(tenCot2, giaTri2);
// Cập nhật nhiều cột và giá trị khác nếu cần
String whereClause = "tenCot1 = ?";
String[] whereArgs = {giaTri1};
db.update(tenBang, cv, whereClause, whereArgs);
}
Xây dựng phương thức xoá dữ liệu
public void tenPhuongThuc([tham số]) {
SQLiteDatabase db = this.getWritableDatabase();
String whereClause = "tenCot1 = ?";
String[] whereArgs = {giaTri1};
db.delete(tenBang, whereClause, whereArgs);
}
Xây dựng phương thức truy vấn dữ liệu không có điều kiện
public void tenPhuongThuc([tham số]) {
String sql = "SELECT * [or tenCot1, ...] FROM tenBang";
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery(sql, null);
if (c != null) {
c.moveToFirst();
do {
// Truy vấn dữ liệu sử dụng c.getString(viTriCot);
} while (c.moveToNext());
}
}
Xây dựng phương thức truy vấn dữ liệu có điều kiện
public void tenPhuongThuc([tham số]) {
SQLiteDatabase db = this.getReadableDatabase();
String[] columns = {"tenCot1", "tenCot2", ...};
String selection = "tenCot1 = ?";
String[] selectionArgs = {giaTri1};
String groupBy = null;
String having = null;
String orderBy = null;
Cursor c = db.query(tenBang, columns, selection, selectionArgs, groupBy, having, orderBy);
if (c != null) {
c.moveToFirst();
do {
// Truy vấn dữ liệu sử dụng c.getString(vị trí cột);
} while (c.moveToNext());
}
}
### Bước 2: Sử dụng lớp đã tạo trong activity
Trong activity, chúng ta cần khai báo đối tượng của lớp đã tạo ở Bước 1 để truy xuất các phương thức thêm, cập nhật, xoá hoặc truy vấn dữ liệu.
```java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_qlsv);
TenLop tenDoiTuong = new TenLop();
}
Trong đó:
TenLop
là tên lớp đã xây dựng ở Bước 1.tenDoiTuong
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
Ứng dụng quản lý danh sách khách hàng có một số chức năng như sau:
- 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 và chọn thao tác "Edit Contact" hoặc "Delete Contact" từ menu.
Ngoài ra, trong bài viết gốc còn cung cấp ví dụ về các bước thực hiện chi tiết, bao gồm tạo java class, thiết kế layout, thiết kế menu và viết xử lý cho activity.
SQLite trong Android - Bài tập thực hành
Bạn có thể 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) sử dụng SQLite. Danh sách công việc được lưu trữ trong cơ sở dữ liệu với cấu trúc như sau:
Field Name 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
Ứng dụng sẽ có giao diện cho phép người dùng thêm, chỉnh sửa, xoá và hiển thị danh sách công việc. Chi tiết về thiết kế giao diện và xử lý ứng dụng được đề cập trong bài viết gốc.
Bài viết gốc được đăng tải tại giasutinhoc.vn.
Bạn có thể tham khảo thêm các bài viết khác về lập trình di động trên trang web của chúng tôi.