Bài Viết Liên Quan

Kết nối cơ sở dữ liệu sqlite trong android

Sqlite là một cơ sở dữ liệu có thể sử dụng trên nhiều nền tảng như: desktop, mobile,… Bạn không cần phải cài đặt thêm gì vì cơ sở dữ liệu này đã tích hợp mọi thứ. Kết nối cơ sở dữ liệu sqlite trong android có những tiện ích gì mà được giới công nghệ ưa thích đến vậy?

Cách tạo và kết nối cơ sở dữ liệu sqlite trong android

Sqlite sở hữu nhiều ưu điểm vượt trội như: Không cần cấu hình, không cần server SQL riêng. Sqlite sẽ được lưu trữ trong một file riêng có tên storage.

Để sử dụng Sqlite, bạn cần truy cập vào storage đồng thời xóa file cơ sở dữ liệu. Với android, các ứng dụng sẽ được lưu trữ tại một file tên data/data/applicationId/databases/.

Trong đó applicationId là tên của ứng dụng có trong file build.gradle. Đối với SQLite3 DB, bạn có thể lưu nó ở bất kỳ đâu trong ứng dụng của bạn. Đặc biệt, Context (Activity) có thể giúp bạn xác định vị trí lưu trữ của DB.

Hướng dẫn thực hiện các truy vấn cơ sở dữ liệu sqlite trong android

Đầu tiên, bạn cần tạo được Database bằng cách dùng rawQuery mục đích của việc này là dùng để chạy các truy vấn SQL.

Xem thêm:  Robot Hút Bụi Lau Nhà Thông Minh Có Tốt Không? Có Nên Mua Không?

Kết nối cơ sở dữ liệu sqlite trong android

Cách làm việc với Sqlite

Để làm việc với Sqlite bạn cần thành thạo các ngôn ngữ SQL để thực hiện truy vấn. Tạo mã nguồn bằng lệnh Git và kiểm tra một bảng trong cơ sở dữ liệu.

Để kiểm tra bảng product bạn cần đọc dữ liệu bằng đoạn code: 

//true nếu bảng tồn tại

boolean isTableExist(SQLiteDatabase db, String table) {

    Cursor cursor = db.rawQuery(“SELECT name FROM sqlite_master WHERE type=’table’ AND name=?”, new String[]{table});

    boolean tableExist = (cursor.getCount() != 0);

    cursor.close();

    return tableExist;

Nạp dữ liệu vào Adapter (ListView)

Nạp sản phẩm ở product vào Adapter bằng phương thức rawQuery. Tiếp đó bạn sẽ thu được Cursor được duyệt và lấy dữ liệu.

private void loadDbProduct() {

    listProduct.clear();

    SQLiteDatabase db = openOrCreateDatabase(DB_NAME, Context.MODE_PRIVATE, null);

    if (!isTableExist(db, “product”)) {

        Toast.makeText(this, “Bảng product không tồn tại, cần tạo bảng trước”, Toast.LENGTH_LONG).show();

        ((TextView) findViewById(R.id.infomation)).setText(“Bảng dữ liệu không có, phải tạo bảng”);

        findViewById(R.id.addbutton).setVisibility(View.GONE);

        return;

    }

    ((TextView) findViewById(R.id.infomation)).setText(“PRODUCT”);

    findViewById(R.id.addbutton).setVisibility(View.VISIBLE);

    Cursor cursor = db.rawQuery(“SELECT id, name, price from product”, null);

    //Đến dòng đầu của tập dữ liệu

    cursor.moveToFirst();

    while (!cursor.isAfterLast()) {

        //Đọc dữ liệu dòng hiện tại

        int productID = cursor.getInt(0);

        String productName = cursor.getString(1);

        int productPrice = cursor.getInt(2);

        listProduct.add(new Product(productID, productName, productPrice));

        // Đến dòng tiếp theo

        cursor.moveToNext();

    }

    cursor.close();

}

Trên đây là hình thức của code cơ bản. Code có thể qua lại bằng phương thức truyền dữ liệu. Đầu tiên khi ấn vào nút thêm sản phẩm, chúng ta sẽ thấy được Activity có tên EditProduct. 

Kết nối cơ sở dữ liệu sqlite trong android 1

Khi isupdate truyền giá trị có tên là false thì Activity sẽ được thêm sản phẩm. Ngược lại Activity sẽ được cập nhật dữ liệu sẵn có khi bấm vào chọn phần tử thì lúc này giá trị của false sẽ được khởi tạo.

Xem thêm:  Hướng dẫn cách chuyển file PDF từ màu sang trắng đen

Cách lưu sản phẩm vào cơ sở dữ liệu sqlite trong android

findViewById(R.id.save).setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

        SQLiteDatabase db = openOrCreateDatabase(MainActivity.DB_NAME, Context.MODE_PRIVATE, null);

        product.name = editName.getText().toString();

        product.price = Integer.parseInt(editPrice.getText().toString());

        if (isupdate) {

            //Cập nhật

            db.execSQL(“UPDATE product SET name=?, price = ? where id = ?”,

                    new String[]{product.name, product.price + “”, product.productID + “”});

        } else {

            //Tạo

            //Cập nhật

            db.execSQL(“INSERT INTO product (name, price ) VALUES (?,?)”,

                    new String[]{product.name, product.price + “”});

        }

        db.close();

        finish();

    }

});

Bài viết này là những chia sẻ về kết nối cơ sở dữ liệu sqlite trong android. Chúng tôi đã áp dụng các phương thức để thực hiện truy vấn đến sqlite một cách tiện lợi và nhanh chóng nhất. Chúc các bạn mạnh khỏe và thành công.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *