Search…

Sử Dụng CSDL Hướng Đối Tượng DB4O với Android - Phần 1

08/11/20203 min read
Hướng dẫn sử dụng thư viện cơ sở dữ liệu hướng đối tượng DB4O để phát triển ứng dụng di động.

Giới thiệu

DB4O là hệ cơ sở dữ liệu hướng đối tượng thường được dùng rất nhiều trong giảng dạy và nhiều dự án thực tế, tuy nhiên có rất ít tài liệu hướng dẫn sử dụng hệ cơ sở dữ liệu này trên mô hình di động.

Bài viết miêu tả bước đầu tiên khi sử dụng thư viện cơ sở dữ liệu hướng đối tượng DB4O để phát triển ứng dụng di động.

Hiện thực

1. Tổng quan thư viện DB4O

DB4O đại diện cho mô hình cơ sở dữ liệu hướng đối tượng. DB4O cung cấp một giao diện dễ sử dụng và có cấu trúc như lập trình hướng đối tượng. Thư viện hỗ trợ cho cả C# và Java.

Link download: https://sourceforge.net/projects/db4o/?source=directory

2. Thêm thư viện DB4O vào project Android

Trước hết tạo 1 project Android Hello World cơ sở.

Lưu ý nên kiểm tra trước trên máy ảo để đảm bảo project thực thi tốt trước khi thêm các thư viện vào project để tránh trường hợp phát sinh ra lỗi sẽ khó xác định.

2.1. Vị trí thư viện

Trong phần project bên tay trái sẽ tuỳ chỉnh giao diện hiển thị thành dạng project.

Screen%20Shot%202016-12-06%20at%2011_09_51%20PM(1)__268x320

Sao chép file thư viện DB4O mà chúng ta đã down vào thư mục libs.

Screen%20Shot%202016-12-06%20at%2011_18_16%20PM__354x320

Trong hộp thoại File → Project Structure trong mục Module chọn app → Dependencies

Screen%20Shot%202016-12-06%20at%2011_30_37%20PM__385x320

Thêm đường dẫn tới thư viện tại biểu tượng hình dấu + → chọn File dependency.

Screen%20Shot%202016-12-06%20at%2011_31_36%20PM__384x320

Đến đây chọn đường dẫn đã lưu thư viện.

Screen%20Shot%202016-12-06%20at%2011_32_10%20PM__367x320

Sau khi chương trình Build hoàn tất, sử dụng thư viện DB4O. Đối với các thư viện khác phương pháp cũng tương tự.

2.2. Khởi tạo dữ liệu

Import một số thư viện

import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;

Phần này không cần thiết nếu đã thiết lập cơ chế tự import.

Bên trong chương trình thêm đoạn code khởi tạo dữ liệu

// Create the DB:
String dbPath =  "/data/data/" + getPackageName() + "/Db4oDatabase.db4o";
ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), dbPath);

Đoạn này Build và chạy thử chương trình vì lúc này file dữ liệu sẽ tồn tại trên thiết bị di động, nếu đường dẫn sai thì chương trình sẽ không chạy được.

2.3. Khai báo Class quản lý dữ liệu

Trong ví dụ này khai báo một Class Person đơn giản với 3 thuộc tính name, number, email

Class này sẽ định nghĩa và xử lý dữ liệu.

public class Person {
    public String name;
    public int number;
    public String email;

    public Person(){}

    public Person(String name, int number, String email) {
        this.name = name;
        this.number = number;
        this.email = email;
    }

    public String toString(){
        return  (name+" "+number+" "+email);
    }
}

2.4. Thêm và truy xuất dữ liệu

Trong res → layout → activity_main.xml cài đặt ID cho textView "Hello world"

 <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:id="@+id/txtCheck" />

Trong Class Main thêm dòng code

// mappings with interface
txtCheck = (TextView) findViewById(R.id.txtCheck);

Dòng lệnh này là bước ánh xạ dữ liệu lên giao diện di động. Để sử dụng các đối tượng khác được khai báo trong layout cũng cần thực hiện bước này.

Thử thêm một dữ liệu và xuất kết quả

//Insert an object:
//creates object
Person p1  = new Person("Son", 100, "Database@db4o.com");
//saves object
try {
	db.store(p1 );

	//----Search all QBE----
	Person person = new Person();
	ObjectSet<Person> persons = db.queryByExample(person);
	for (Person ps: persons){
		txtCheck.setText(ps.toString());
	}
} finally {
	db.close();
}

Kết quả

Screen%20Shot%202016-12-07%20at%2012_30_55%20AM

Bài chung series

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024