在Android中的Firebase数据库中读取,写入和访问数据

时间:2017-04-17 18:33:36

标签: android firebase firebase-realtime-database

我为学生使用的应用创建了一个基本数据库。我希望学生能够使用预定义的用户ID(4位数字)和密码(3个字母)登录....我已经在Firebase中创建了这个。

我尝试了很多组合,但我无法弄清楚如何执行以下操作:

  1. 检查是否存在具有ID的用户(例如" 1544")
  2. 如果此用户的密码是" rql"
  3. 如何以编程方式添加新用户
  4. 如果找到则删除用户。
  5. 任何有关如何做到这一点的帮助将不胜感激。我附上了我的数据库样本的屏幕截图。谢谢。

    db structure

    编辑:更新....想出来了!可以检查输入的用户ID的相应pw:

    b1 = (Button) findViewById(R.id.loginBtn);
        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (rd1.isChecked()) { //logging on as staff successfully takes you to staff main screen
                    Intent i = new Intent(getApplicationContext(), MainStaff.class);
                    startActivity(i);
                }
                if (rd2.isChecked()) {//logging on as student successfully takes you to quiz screen
                    //set up mref to get get the password for username entered
                    DatabaseReference mref = mDatabase.child("student_users").child(e_uname.getText().toString())
                            .child("password");
                    mref.addListenerForSingleValueEvent(new ValueEventListener() {
                        @Override
                        public void onDataChange(DataSnapshot dataSnapshot) {
                                //if password entered matches the username entered, allow access to quiz
                                if (dataSnapshot.getValue().equals(e_pwd.getText().toString())) {
                                    Toast.makeText(getApplicationContext(), "Successfully logged on", Toast.LENGTH_SHORT).show();
                                    Intent i = new Intent(getApplicationContext(), MainQuiz.class);
                                    startActivity(i);
                                } else {
                                    Toast.makeText(getApplicationContext(), "Please check UserID and password.", Toast.LENGTH_SHORT).show();
                                }
                            }
                        @Override
                        public void onCancelled(DatabaseError databaseError) {
                        }
                    });
                }
            }
        });
    

0 个答案:

没有答案