[Android Nâng Cao] Ứng dụng Chat với Firebase – Phần 3

Hi các em, trong phần tiếp theo này chúng ta cùng bắt đầu xây dựng màn hình Sign Up nhé

Nếu bạn nào chưa tải có thể tải ở link tham khảo này nhé :

Link tải 1: https://link5s.co/fileThietKe

Link tải 2 : https://link5s.co/Y6UCaR

  • Màn hình Login

Màn hình Login gồm có chức năng đăng nhập bằng Email, Password hoặc đăng nhập nhanh bằng Facebook (Phần này anh sẽ hướng dẫn riêng vì cần tích hợp Facebook API) và Gmail của Google.

2 Ô nhập cần validate dữ liệu nhập trống, định dạng Email và có nút Eyes Icon để ẩn hiện mật khẩu

Phần hướng dẫn làm giao diện a sẽ hướng dẫn cuối cùng, hiện tại tập trung làm chức năng trước các em nhé

Bước 1 : Khởi tạo màn hình Login với giao diện đơn giản như sau :

Bước 2 : Khởi tạo màn hình Sign Up với giao diện như hình sau :

Trong màn hình Sign up, a tạo sự kiện click nut Sign up lấy dữ liệu từ Edittext phía trên và truyền lên Firebase như sau :

public void signUp(View view) {
        // get all value in edit text
        final String firstName = edtFirstName.getText().toString().trim();
        final String lastName = edtLastName.getText().toString().trim();
        final String username = edtUsername.getText().toString().trim();
        final String password = edtPassword.getText().toString().trim();

        // dont forget validating value

        // pls do it yourself

        // Firstly, we check username is exits or not

        final FirebaseDatabase database = FirebaseDatabase.getInstance();
        final DatabaseReference users = database.getReference(USERS).child(username);

        users.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                // chua co user voi username duoc nhap
                if (dataSnapshot.getValue() == null) {

                    // hoc vien tu khoi tao model User
                    User user = new User();
                    user.firstName = firstName;
                    user.lastName = lastName;
                    user.password = password;


                    // them user vao nhanh Users
                    users.setValue(user,new DatabaseReference.CompletionListener(){

                        @Override
                        public void onComplete(@Nullable DatabaseError databaseError, @NonNull DatabaseReference databaseReference) {

                            // hoc vien tu viet va kiem tra su kien loi va thanh cong

                        }
                    });

                    // username da ton tai, thong bao chon username khac
                } else {
                    Toast.makeText(SignUpActivity.this,
                            getString(R.string.notify_user_is_exits), Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });


    }

Sau khi chạy thành công, kiểm tra dữ liệu trên Firebase console, dữ liệu đã được cập nhật

Như vậy anh đã mô tả xong phần Sign Up, trong bài có 1 số phần anh lược bỏ để các em tự tập triển khai, phần code chính với Firebase a đã giải thích chi tiết trong code đi kèm. Các em có thể tự code lại hoặc tải code mẫu tại đây https://link5s.co/CodeMau

Phần hướng dẫn chi tiết anh sẽ livestream và phát lại trên kênh youtube. Mọi người chú ý đón xem nhé. Kênh youtube : https://link5s.co/HuyNguyenAndroidAZ