当前位置: 首页 > 知识库问答 >
问题:

火库,数据库,Android Studio:不从火库数据库中读取数据

鞠嘉志
2023-03-14

我在数据库中有数据:Firebase中的数据库

我想读取所有子项(Belgia、Czechy、Polska…),并将其显示在文本字段中,但单击按钮后(我不会更改数据库中的数据)。按钮分配了以下功能:

public void f_btn_zaczytaj_dane(View view) {
    myRef.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String value = dataSnapshot.getValue(String.class);
            TextView txt_opis_panstwa = (TextView) findViewById(R.id.txt_opis_panstwa);
            txt_opis_panstwa.setText(value);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

}

在我写代码之前:

FirebaseDatabase database;
DatabaseReference myRef;

database = FirebaseDatabase.getInstance();
myRef = database.getReference("kraj");

不幸的是,当我按下按钮时,什么也没有发生。

我很感激你的帮助问候,马辛

共有2个答案

窦啸
2023-03-14

请使用此代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference krajRef = rootRef.child("flagiistolice").child("kraj");

public void f_btn_zaczytaj_dane(View view) {
    ValueEventListener eventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            TextView txt_opis_panstwa = (TextView) findViewById(R.id.txt_opis_panstwa);
            for(DataSnapshot ds : dataSnapshot.getChildren()) {
                String country = ds.getkey();
                txt_opis_panstwa.append(country);
                Log.d("TAG", country);
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {}
    };
    krajRef.addListenerForSingleValueEvent(eventListener);
}
都超英
2023-03-14

你必须反复检查你的孩子

public void f_btn_zaczytaj_dane(View view) {
    myRef.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            TextView txt_opis_panstwa = (TextView) findViewById(R.id.txt_opis_panstwa);
            for (DataSnapshot country : dataSnapshot.getChildren()) {
             txt_opis_panstwa.append(country.getKey());
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

}
 类似资料:
  • 在我的项目中,我希望用户从Firebase实时数据中读取数据,同时他会将数据标记为锁定,直到他完成一些操作,在此期间其他用户无法读取此数据。 如果无法锁定,另一种情况是一旦他读取他同时写入一些数据以指示该数据已锁定。如果另一个用户读取此数据,他知道它已锁定。 我不确定这在火力基地是否可能。 有没有任何想法如何使用firebase实时数据库这个。

  • 我正在读取火基数据库的数据。以下是存储在数据库中的数据的快照。 在以“8SS...”开头的快照字符串中,是用户的 uid。以下是用于从 firebase 数据库中检索数据的代码。 用户类包含getter和setters。 错误是只有结论。 如何评估 从值事件中读取时的错误是什么? 我尝试使用这个: 然后调用<code>ref。addListenerForSingleValueEvent()但仍然没

  • 我的nextjs webapp中有一个实时数据库,我用它来发送通知。 我的数据库的架构如下: 我仅以管理员身份从服务器端写入数据,但按以下方式从客户端读取数据: 在这一刻,我有以下规则: 正如您所看到的,每个经过身份验证的人都可以阅读所有内容。我希望用户只阅读他自己的通知。ObjectID是我的mongoDB中的引用。 例如,如果我的我只想访问路径的数据,如果我试图从,那么我什么也得不到(或错误)

  • 我试图从Firebase数据库中读取数据,我已经到处阅读和查找,但我已经走到了死胡同。 这就是我所做的一切。 依赖项: 实现'com.google.firebase: Firebase存储: 9.2.1' 实现'com。谷歌。firebase:firebase数据库:9.2。1' 实现'com。谷歌。firebase:firebase授权:9.2。1' 实现'com。谷歌。火基:火基核心:9.2。

  • 我正在集成cxf webservices,没有spring,消息是签名的。作为一个指南,我已经使用了本教程CXF安全性。我想在数据库中存储x509证书或密钥库。 我已经重写了WSS4JOUTInterceptor.LoadCryptoFromPropertiesFile方法。 但是这里有几个问题: 1。有一个错误像