如何检索Android Firebase实时数据库中节点的所有数据?

这是我的firebase数据。

[![在此输入图片描述][1]][1]

我想从child(“Registo Inicial e Final”)中获取所有数据,并以表格或列表视图的形式显示。

我的代码从安卓工作室。

reff2 = database.getInstance().getReference().child("Registo Inicial e Final");

            reff2.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange( DataSnapshot dataSnapshot) {


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

                        Log.e("MATRICULAAAAAAAAAAAAA", String.valueOf(ds.child("matricula").getValue()));


                        try {


                            if (ds.child("matricula").getValue().equals(editText_Matric.getText().toString())) {

                                String message = ds.child("nome_CONDUTOR").getValue().toString();
                                String message2 = ds.child("matricula").getValue().toString();
                                String message3 = ds.child("cod_PROJETO").getValue().toString();
                                String message4 = ds.child("km_INICIAL").getValue().toString();
                                String message5 = ds.child("km_FINAL").getValue().toString();
                                String message6 = ds.child("data_INICIO").getValue().toString();
                                String message7 = ds.child("data_FIM").getValue().toString();
                                String message8 = ds.child("hora_INICIO").getValue().toString();
                                String message9 = ds.child("hora_FIM").getValue().toString();
                                String message10 = ds.child("observacoes").getValue().toString();

                                Nome.setText(message);
                                Matricula.setText(message2);
                                Cod.setText(message3);
                                Kilometros_inicial.setText(message4);
                                Kilometros_final.setText(message5);
                                Data_inicial.setText(message6);
                                Data_final.setText(message7);
                                Hora_inicial.setText(message8);
                                Hora_final.setText(message9);
                                Observacoes.setText(message10);

輸出。

它只显示了一条记录的数据(只显示了一个firebase按键的数据),但是我想要所有按键的数据……

[![在此输入图片描述][2]][2] 。

解决方案:

你没有读到所有的数据,因为你指定了一个 if-statement 以获得对应的 matricula 字符串,在 EditText:

撤消此条 if-statement

if (ds.child("matricula").getValue().equals(editText_Matric.getText().toString())) {

......
.....

你会得到所有的值,然后也许把它们存储在一个 list

给TA打赏
共{{data.count}}人
人已打赏
未分类

Google Play Console防止生产自动发布

2022-9-8 16:30:39

未分类

如何从库中访问:app类?

2022-9-8 16:30:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索