TiiL Tutorials
@TinhocTiiL

Lập trình Android kết nối CSDL Firebase

Bước 1.  Đăng nhập Firebase console (google.com), và tạo dự án về cơ sở dữ liệu trên Firebase.

  • Tên dự án trên này là độc lập với tên dự án android, tất nhiên có thể cùng tên.
  • Một dự án Firebase
    • cho phép ta sử dụng nhiều loại dịch vụ clound khác của Firebase chứ không riêng gì Realtime Database.
    • có thể tạo nhiều cơ sở dữ liệu
  • Ví dụ đặt tên là : Android-Projects mang ý nghĩa là để lưu các CSQL là việc với lập trình android.

Bước 2. Tạo dự án trên Android Studio.

Tại bước này, ta đặt tên dự án, đồng thời lưu ý cách đặt tên package- được dùng để đồng bộ với CSDL noSQL Firebase

Ví dụ:

  • Project name:  QuanLyChiTieu
  • Package name: vn.edu.tinhoc123.quanlychitieu

Bạn có thể dừng ở đây và xem video hướng dẫn

Bước 3: Cách 1 – Kết nối ứng dụng Android với CSQL sử dụng hỗ trợ của Android Studio

  • menu:  Tool –> Firebase –> chọn Realtime Database (ở cửa sổ bên phải màn hình )
    • tiếp đến  chọn Get stared with Real time Databse [Java]
      • khi này trình duyệt web được mở và mở luôn cho chúng ta trang console.firebase.google.com
    • tiếp đến, trên website console.firebase đang mở, ta chọ dự án Firebase đã tạo ở Bước 1 (vd: Android-Projects)
    • tiếp ta chọn Connect
    • khi này ta nhận được một trang web thông bao kết quả

      Your Android Studio project is connected to your Firebase Android app

      You can now use Firebase in your project! Go back to Android Studio to start using one of the Firebase SDKs.

    • Một App trong dự án Firebase tạo ở bước 1, liên kết với ứng dụng android của mình ĐÃ ĐƯỢC TẠO RA, có tên theo tên package

Bước 4: Trên Android Studio

– Ở cửa sổ phải màn hình  ta thấy :

Mục 1 nhỏ: (1) Connect your app to Firebase  có trạng thái là Connected  (đã kết nối thành công)

Ta cần thực hiện tiếp mục 2 nhỏ ngay dưới, để Thêm cơ sở dữ liệu vào dự án của mình. (2) Add the Real time Database to your app , ta chọn nhấn vào : Add the Real time Database SDK to your app

  • mục tiêu đề thêm các tùy chọn vào tệp Gradle của dự án  –> Accept change

Bước 4. Trên console firebase

1. Ta mở dự án đã tạo (Android Project) và click chọn App đã được tạo   (có tên giống tên Package của Andoird

2. Chọn loại sản phẩm để thêm vào dự án (Choose a product to add to your app), –> ta chọn Realtime Database  –> và nhấn tạo Database (Creat Database ) –> next –> Start in TEST MODE –> Enable

Bước 5. Thực hiện một thử nghiệm thêm dữ liệu (dạng Key-Value) từ Ứng dụng di động (nội dung đỏ đậm)

package vn.edu.tinhoc123.quanlychitieu;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.google.firebase.database.DatabaseReference;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // Write a message to the database
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference myRef = database.getReference("message");
        myRef.setValue("Hello, World!");
    }
}

Chạy ứng dụng, và kiểm tra trên Firebase ta thấy:  dòng 1 là tên CSDL, dòng 2 là dữ liệu với key là “message” và value là “Hello, World!”

https://android-projects-bb691-default-rtdb.firebaseio.com/
message: "Hello, World!"

Bước 6. Đảm bảo ứng dụng có thể cập nhật thời gian thực ngay khi có sự thay đổi dữ liệu trên Firebase

ta cần thêm bộ lắng nghe và xử lý sự kiện ValueEventListener cho biến tham chiếu đến CSDL (ví dụ ở bước 5, biến là myRef)

package vn.edu.tinhoc123.quanlychitieu;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // Write a message to the database
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference myRef = database.getReference("message");
        myRef.setValue("Hello, World!");
        // Read from the database
        myRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                // This method is called once with the initial value and again
                // whenever data at this location is updated.
                String value = dataSnapshot.getValue(String.class);
                Toast.makeText(getBaseContext(), "Value is: " + value, Toast.LENGTH_LONG).show();
            }
            @Override
            public void onCancelled(DatabaseError error) {
                // Failed to read value
                Toast.makeText(getBaseContext(),  "Failed to read value.",Toast.LENGTH_LONG ).show();
            }
        });
    }
}


 

– Chạy ứng dụng Android,
– Trên Trong CSDL firebase, thực hiện sửa dữ liệu của phần value (ví dụ Mai Cường Thọ)
– quan sát trên ứng dụng android đang chạy sẽ nhận được thông báo trên màn hình

===============> Mời xem full video hướng dẫn tại https://www.youtube.com/@TinHocTiiL

Avatar
https://khoacntt.ntu.edu.vn/giang-vien/mai-cuong-tho

một GV Đại học. TiiL đã phụ trách một số môn học như: Lập trình Java, Phát triển web với Java, Lập trình thiết bị di động, Lập trình hệ thống nhúng và IoT.

Comments are closed.