为了账号安全,请及时绑定邮箱和手机立即绑定

Firestore-检查用户名是否已存在

Firestore-检查用户名是否已存在

慕雪6442864 2021-11-24 14:55:24
我需要有关 Firestore 的帮助。我有一个 AllUsers 数据集合,包含每个用户信息的用户 ID 文档。我想检查用户名是否已经存在;// “那个用户名已经存在”。我该怎么做?` setupBtn.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View view) {            final String user_name = setupName.getText().toString();            Map<String, Object> commentsMap = new HashMap<>();            commentsMap.put("user_id", user_id);            commentsMap.put("timestamp", FieldValue.serverTimestamp());            commentsMap.put("user_name",user_name);            firebaseFirestore.collection("AllUsers").document(user_id).set(commentsMap).addOnCompleteListener(new OnCompleteListener<Void>() {                @Override                public void onComplete(@NonNull Task<Void> task) {                    if(task.isSuccessful()){                        Intent asda=new Intent(getApplicationContext(),MainActivity.class);                        startActivity(asda);                        finish();                   }                }            });
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

希望这会有所帮助。


setupBtn.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                final String userName = setupName.getText().toString();


                CollectionReference usersRef = firestore.collection("Users");

                Query query = usersRef.whereEqualTo("username", userName);

                query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {

                    @Override

                    public void onComplete(@NonNull Task<QuerySnapshot> task) {

                        if(task.isSuccessful()){

                            for(DocumentSnapshot documentSnapshot : task.getResult()){

                                String user = documentSnapshot.getString("username");


                                if(user.equals(userName)){

                                    Log.d(TAG, "User Exists");

                                    Toast.makeText(MainActivity.this, "Username exists", Toast.LENGTH_SHORT).show();

                                }

                            }

                        }


                        if(task.getResult().size() == 0 ){

                            Log.d(TAG, "User not Exists");

                            //You can store new user information here


                        }

                    }

                });

            }

        });


查看完整回答
反对 回复 2021-11-24
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信