STDIO
Tìm kiếm gần đây

    Nội dung

    Sử Dụng CSDL Hướng Đối Tượng DB4O Với Android

    13/03/2016
    17/11/2016
    Sử Dụng CSDL Hướng Đối Tượng DB4O Với Android
    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.

    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.

    Tiền đề bài viết

    Khi tham gia chương trình cao học hệ thống thông tin tại đại học Cần Thơ,  tôi nhận thấy có rất nhiều học viên lung túng trong việc sử dụng các thư viện hỗ trợ để lập trình các dự án. Nhân dịp tôi đang báo cáo bộ cho đề tài cơ sở dữ liệu hướng đối tượng, tôi viết một hướng dẫn về việc sử dụng thư viện cơ sở dữ liệu hướng đối tượng DB4O cho mọi người cùng tham khảo.

    Đối tượng hướng đến

    • Bài viết này dành cho các bạn đã có kiến thức lập trình Java cơ bản có nhu cầu tham khảo hoặc thực hiện dự án với hệ quản trị cơ sở dữ liệu hướng đối tượng
    • Phần hướng dẫn trên bài viết sử dụng IDE là Android Studio, có thể khác đôi chút đối với các bạn sử dụng Eclipse hay NetBean,  về cơ bản cũng sẽ giống nhau. Nội dung bài viết sẽ cố gắng diễn giải chi tiết nhất để các bạn mới bắt đầu có thể tìm hiểu.

    Môi trường thử nghiệm

    MacBook Pro (Retina, 13-inch, Early 2015).

    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 chúng ta 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 ta 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 chúng ta 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

    Ta bắt đầu 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úng ta 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, ta có thể 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 với các bạn đã 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 chúng ta Build và chạy thử chương trình vì lúc này file dữ liệu của chúng ta 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.

    Lúc này hệ thống sẽ phát hiện lỗi bên trong thư viện, nhưng chúng ta sẽ bỏ qua vấn đề này vì thư viện còn hỗ trợ cả C# nữa nên chỉ cần chương trình của chúng ta có thể chạy tốt là được.

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

    Trong ví dụ này chúng ta sẽ 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 giúp chúng ta.

    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 ta set 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 chúng ta thêm dòng code

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

    Dòng lệnh này rất quan trọng vì nó 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 chúng ta cũng cần thực hiện bước này.

    Chúng ta 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, "[email protected]");
    //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

    Lời cám ơn

    • Cảm ơn cô Phạm Thị Ngọc Diễm – giáo viên hướng dẫn bộ môn: Cơ sở dữ liệu hướng đối tượng – Cao học khoá 23 – Trường Đại học Cần Thơ.
    • Cảm ơn anh La Kiến Vinh đã hướng dẫn kiến thức nền tảng và giúp đỡ em hiểu rõ hơn về cấu trúc thư viện DB4O. 

    Lời kết

    Trên đây tôi đã hướng dẫn cho các bạn bước đầu tiên sử dụng thư viện cơ sở dữ liệu hướng đối tượng khi lập trình Android. Mong rằng qua bài viết này, các bạn vận dụng linh hoạt trong công việc và giải quyết các vấn đề liên quan một cách dễ dàng hơn.

    Thảo luận

    Đăng nhập

    Bài viết liên quan

    Sử Dụng CSDL Hướng Đối Tượng DB4O Với Android - Phần 2 Thực Hiện App Đơn Giản - Chương Trình Trắc Nghiệm

    Sử Dụng CSDL Hướng Đối Tượng DB4O Với Android - Phần 2 Thực Hiện App Đơn Giản - Chương Trình Trắc Nghiệm

    Tiếp theo bài viết 'Sử dụng hệ quản trị cơ sở dữ liệu DB4O trên Android', bài viết này sẽ hướng dẫn xây dựng một chương trình trắc nghiệm đơn giản và tập trung vào các ...

    Nguyễn Hồng Sơn

    15/03/2016

    Lập Trình Hướng Đối Tượng Trong Python  - Phần 1: Cơ Bản

    Lập Trình Hướng Đối Tượng Trong Python - Phần 1: Cơ Bản

    Lập trình hướng đối tượng là một kỹ thuật hỗ trợ, cho phép lập trình viên trực tiếp làm việc với các đối tượng mà họ định nghĩa lên. Giúp tăng năng suất, đơn giản hoá độ ...

    Ryan Lê

    29/03/2015

    Làm Sao Để Chia Tách, Cắt Một Đối Tượng Với Box2D?

    Làm Sao Để Chia Tách, Cắt Một Đối Tượng Với Box2D?

    Bạn cần một sự chia tách, cắt một đối tượng trong thế giới games có vật lý của bạn, hoặc có thể hơn bạn cần một một vụ nổ thật sự. Trong bài ...

    Trương Xuân Đạt

    23/01/2015

    Xử Lý Sự Kiện Trong SDL

    Xử Lý Sự Kiện Trong SDL

    Xử lý sự kiện trong game vô cùng quan trọng, đòi hỏi chúng ta phải thao tác với bàn phím, chuột, hay touch đối với những dòng có màn hình cảm ứng. Framework SDL có hỗ trợ ...

    Nguyễn Nghĩa

    13/10/2015

    Tạo GUI Trong C++ Sử Dụng Qt

    Tạo GUI Trong C++ Sử Dụng Qt

    Tạo ứng dụng với giao diện đồ hoạ trong C++, sử dụng framework hỗ trợ Qt, tích hợp vào visual studio. Qt là ứng dụng đa nền tảng, dễ sử dụng khi cho phép kéo thả để tạo ...

    Kim Uyên

    12/05/2016

    Lập Trình Hướng Đối Tượng Trong PHP - Phần 1

    Lập Trình Hướng Đối Tượng Trong PHP - Phần 1

    Lập trình hướng đối tượng là phương pháp lập trình lấy đối tượng làm nền tảng để xây dựng thuật giải, xây dựng chương trình. Giúp tăng năng suất ...

    Nguyễn Thị Trúc Linh

    22/03/2017

    Sử Dụng Bluetooth Xây Dựng Multiplayer Game Với Unity

    Sử Dụng Bluetooth Xây Dựng Multiplayer Game Với Unity

    Việc hỗ trợ nhiều người chơi là xu hướng tất yếu hiện nay của nhiều game. Thông thường, những người chơi được kết nối với nhau thông qua mạng Internet hay mạng nội bộ ...

    Bùi Nguyễn Minh Hoàng

    03/09/2015

    Cài Đặt Và Sử Dụng Máy Ảo BlueStacks Với Android Studio

    Cài Đặt Và Sử Dụng Máy Ảo BlueStacks Với Android Studio

    Hướng dẫn cài đặt và sử dụng BlueStacks để lập trình Android với Android Studio một cách chính xác và nhanh chóng cũng như giải quyết các vấn đề thường gặp khi cài đặt, ...

    Nguyễn Hồng Sơn

    16/03/2016

    Sử Dụng Mobile_Detect.php Nhận Dạng Thiết Bị Di Động Truy Cập Web

    Sử Dụng Mobile_Detect.php Nhận Dạng Thiết Bị Di Động Truy Cập Web

    Phương pháp sử dụng Mobile_Detect.php (Third Party) kiểm tra xem người sử dụng đang dùng thiết bị di động nào truy cập vào web với ngôn ngữ PHP. Điều này có ích lợi lớn ...

    La Kiến Vinh

    15/08/2014

    Sử Dụng Auto Layout Sắp Xếp Các Đối Tượng UI

    Sử Dụng Auto Layout Sắp Xếp Các Đối Tượng UI

    Trong một số trường hợp, chúng ta cần tự động hoá việc sắp xếp các đối tượng trong chương trình do số lượng đối tượng quá nhiều, gây hao tốn thời gian nếu quản lý thủ ...

    Rye Nguyen

    08/08/2015

    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    [email protected]

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020