【问题标题】:Firebase realtime database retrieve null [closed]Firebase 实时数据库检索 null [关闭]
【发布时间】:2021-10-02 00:12:22
【问题描述】:

我想从 Firebase 实时数据库中检索视频 url,但在我的对象中,该 url 为空。

这是我的数据库:

视频位于 Firebase 存储中。 如果我搜索 URL,Google 会找到它

这是我的代码:

public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
    listaEsercizi.clear();
    for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
        String nome = snapshot.getValue(Esercizio.class).getNome();
        String video = snapshot.getValue(Esercizio.class).getVideoURI().toString();
        listaEsercizi.add(new Esercizio(video, nome));
    }

所以,“nome”中的字符串是“Parallele”,但“video”中的字符串为空。

从调试中我意识到“getVideoUri().toString()”中存在 URL,但在“视频”中没有分配。

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    您对Video 的命名与数据库不匹配。

    更改自:

    private String videoURI;
    //Here is video getset
    

    收件人:

    private String video;
    //Here is video getset
    

    然后,您可以这样称呼它们:

     String nome = snapshot.getValue(Esercizio.class).getNome();
     String video = snapshot.getValue(Esercizio.class).getVideo();
     listaEsercizi.add(new Esercizio(video, nome));
    

    【讨论】:

    • 哦,它工作。我不知道为什么,但它有效。
    • @BryanSanchez 它之所以有效,是因为。您必须将变量与数据库匹配。在您的数据库中,您使用video,但在您的模型类中,您使用videoURI。这就是它不起作用的原因。
    猜你喜欢
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 2019-04-16
    • 2020-12-09
    • 2017-04-04
    • 1970-01-01
    相关资源
    最近更新 更多