java - 如何从 android 中的 firebase 数据库中的 uid 获取/检索多个数据?

标签 java android firebase firebase-realtime-database

如何使用以下代码从 Firebase 获取数据?
登录成功后出现空指针异常?

DatabaseReference mref = FirebaseDatabase.getInstance().getReference().child("/Users/Students")
                    .child(FirebaseAuth.getInstance().getCurrentUser().getUid());
            mref.addValueEventListener(new ValueEventListener() {
                @SuppressLint("SetTextI18n")
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                    for (DataSnapshot ds : dataSnapshot.getChildren()){

                        email = ds.child("email").getValue().toString();
                        full_name = ds.child("full_name").getValue().toString();
                        roll_number = ds.child("roll_number").getValue().toString();
                        admission_id = ds.child("admission_id").getValue().toString();
                        phone_no = ds.child("phone_number").getValue().toString();
                        branch = ds.child("branch").getValue().toString();
                        year = ds.child("year").getValue().toString();
                        semester = ds.child("semester").getValue().toString();
                        section = ds.child("section").getValue().toString();
                        course = ds.child("course").getValue().toString();
                        batch = ds.child("batch").getValue().toString();
                        dob = ds.child("dob").getValue().toString();
                        address = ds.child("address").getValue().toString();
                    }

                }

我的 Firebase 数据库是:

enter image description here

最佳答案

删除以下内容:

 for (DataSnapshot ds : dataSnapshot.getChildren()){

由于您已经可以访问 uid,因此您不需要在直接子级中循环来获取值..

所以就这样做:

 public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                    email = dataSnapshot.child("email").getValue().toString();
                    full_name = dataSnapshot.child("full_name").getValue().toString();
                    roll_number = dataSnapshot.child("roll_number").getValue().toString();
                    admission_id = dataSnapshot.child("admission_id").getValue().toString();
                    phone_no = dataSnapshot.child("phone_number").getValue().toString();
                    branch = dataSnapshot.child("branch").getValue().toString();
                    year = dataSnapshot.child("year").getValue().toString();
                    semester = dataSnapshot.child("semester").getValue().toString();
                    section = dataSnapshot.child("section").getValue().toString();
                    course = dataSnapshot.child("course").getValue().toString();
                    batch = dataSnapshot.child("batch").getValue().toString();
                    dob = dataSnapshot.child("dob").getValue().toString();
                    address = dataSnapshot.child("address").getValue().toString();

关于java - 如何从 android 中的 firebase 数据库中的 uid 获取/检索多个数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51613536/

相关文章:

java - Jsoup 在类中获取 href

android - WebView 如何在移动设备中工作? (启动新浏览器?)

android - 如何将 Crypto++ 与 Jni 或 NDK 一起用于 Android 应用程序

android - 如何让 Android/IOS 应用协同工作

javascript - Firebase 电话身份验证 : Is it possible to only check if the telephone exists in Authentication and not Sign Up the user automatically?

java - 通过 Java 在 Chrome 中下载没有 .zip 扩展名的 Zip 文件

java - 在 lambda 表达式中设置对象

java - 查找流中小于最大值几次的值

java - 在 Android 中,如何在一个选项卡中显示 TextView ,而不是在其他选项卡中显示 TextView ?

python - 如何使用 Firebase REST API(Python) 进行用户身份验证?