亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查用戶名是否存在于 firebase 數據庫中

檢查用戶名是否存在于 firebase 數據庫中

拉丁的傳說 2022-12-21 10:57:56
我試圖通過在 if 語句中調用函數 checkifUsernameExists(username) 來檢查數據庫中是否存在用戶名。問題是 firebase 的內置函數稱為 public void onDataChange(@NonNull DataSnapshot dataSnapshot)不能返回布爾值。我能做什么?    mCreateBtn.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View view) {            String username = musername.getText().toString();            String email = mEmail.getText().toString();            String password = mPassword.getText().toString();            if (TextUtils.isEmpty(username) || TextUtils.isEmpty(email) || TextUtils.isEmpty(password)) {                Toast.makeText(registerActivity.this, "Cannot sign you in. Please check the form and try again",                        Toast.LENGTH_SHORT).show();            } else if (password.length() < 6) {                Toast.makeText(registerActivity.this, "Password must be at least 6 characters",Toast.LENGTH_LONG).show();            } else if (email_exists == true) {                Toast.makeText(registerActivity.this, "Email already exists",Toast.LENGTH_LONG).show();            } else if (checkifUsernameExists(username)) {                Toast.makeText(registerActivity.this, "Username already exists", Toast.LENGTH_LONG).show();            } else {                message.setTitle("Registering user");                message.setMessage("Pleases wait while we create your account");                message.setCanceledOnTouchOutside(false);                message.show();                //registerUser(username, email, password);            }        }    });}
查看完整描述

1 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

如果數據庫中不存在用戶名,則使 checkifUsernameExists() 方法無效并在其中調用 registerUser() 方法。


mCreateBtn.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View view) {


        String username = musername.getText().toString();

        String email = mEmail.getText().toString();

        String password = mPassword.getText().toString();


        if (TextUtils.isEmpty(username) || TextUtils.isEmpty(email) || TextUtils.isEmpty(password)) {

            Toast.makeText(registerActivity.this, "Cannot sign you in. Please check the form and try again",

                    Toast.LENGTH_SHORT).show();

        } else if (password.length() < 6) {

            Toast.makeText(registerActivity.this, "Password must be at least 6 characters",Toast.LENGTH_LONG).show();

        } else if (email_exists == true) {

            Toast.makeText(registerActivity.this, "Email already exists",Toast.LENGTH_LONG).show();

        } else {

            checkifUsernameExists(username, email, password);

        }


    }

});


private void checkifUsernameExists(final String username, final String email, final String password) {


    Query usernameQuery = FirebaseDatabase.getInstance().getReference().child("users").orderByChild("username").equalTo(username);

    usernameQuery.addListenerForSingleValueEvent(new ValueEventListener() {

        @Override

        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            if (dataSnapshot.exists()) {

                // the username is already in the database

                Toast.makeText(registerActivity.this, "Username already exists", Toast.LENGTH_LONG).show();

            }else {

                message.setTitle("Registering user");

                message.setMessage("Pleases wait while we create your account");

                message.setCanceledOnTouchOutside(false);

                message.show();

                registerUser(username, email, password);

            }

        }


        @Override

        public void onCancelled(@NonNull DatabaseError databaseError) {


        }

    });

}


查看完整回答
反對 回復 2022-12-21
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號