Firebase实时数据库检索

时间:2018-06-29 06:24:47

标签: android firebase firebase-realtime-database

首先,我是Android的初学者。

我正在尝试使用Firebase实时数据库而不是登录身份验证进行登录阶段。我使用了两个EditText和一个Button进行登录。我的数据库是这样的:

enter image description here

如果您有任何链接,请提出建议。 谢谢。

2 个答案:

答案 0 :(得分:0)

尝试此代码..

private void getData() {
    mFirebaseInstance = FirebaseDatabase.getInstance();
    mDatabase = mFirebaseInstance.getReference("usersDb/UserTable"); // define db name 
    mDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            mUserList.clear();
            for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
                User user = dataSnapshot1.getValue(User.class);
                mUserList.add(user);
            }
        }


        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

我希望您将互联网许可添加到android清单文件中。

<uses-permission android:name="android.permission.INTERNET"/>

更多信息请参考此链接。 https://www.simplifiedcoding.net/firebase-realtime-database-crud/

答案 1 :(得分:0)

您的问题尚不清楚,但是如果您要验证输入的 userId 密码,那么这里是代码,这里我使用了Android的Firebase查询:查看此link可以更好地了解查询。

public void verify(){
    String userIdEntered = userIdEditText.getText().toString();
    String passwordEntered = passwordEditText.getText().toString();
    //Assuming you have stored information in "users" node
    FirebaseDatabase.getInstance().getReference().child("users").orderByChild("id").equalTo(userIdEntered).addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if(dataSnapshot.exists()){
                for(DataSnapshot childSnapshot:dataSnapshot.getChildren()){
                    String password = childSnapshot.child("password").getValue(String.class);
                    if(password.equals(passwordEntered)){
                        //Valid userId and password
                    }else{
                        //Invalid password
                    }
                }   
            }else{
                //Invalid password
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });        
}