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

如何从firebase获取数据:

华衡
2023-03-14

我想获取日期字段,但下面的代码没有这样做。Toast显示null(字符串日期的值)。

公共字符串日期;

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState){
    DatabaseReference rootRef , demoRef;
    //database reference pointing to root of database
    rootRef = FirebaseDatabase.getInstance().getReference();
    //database reference pointing to demo node
    demoRef = rootRef.child("dates");

    demoRef.child("date").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            date = dataSnapshot.getValue(String.class);
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
    Toast.makeText(getContext() , date , Toast.LENGTH_SHORT).show();
}

共有2个答案

甄坚白
2023-03-14

使用此代码

ValueEventListener postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
        // Get Post object and use the values to update the UI
        Post post = dataSnapshot.getValue(Post.class);
        // ...
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        // Getting Post failed, log a message
        Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
        // ...
    }
};

有关详细信息,请查看Firebase留档

https://firebase.google.com/docs/database/android/read-and-write

盖嘉庆
2023-03-14

在onDataChange中添加吐司:

 demoRef.child("date").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        date = dataSnapshot.getValue(String.class);

Toast.makeText(getContext() , date , Toast.LENGTH_SHORT).show();

    }
    @Override
    public void onCancelled(DatabaseError databaseError) {
    }
});

由于onDataChange是异步的,因此它在完成数据检索之前会转移到另一个任务,然后需要在方法中添加toast。

 类似资料:
  • 我一直无法从Firebase中获取显示名称。下面是注册过程编码 控制台.log显示“用户名集!”,控制台.log(firebaseUser)显示显示名称是在当前用户的数据库中设置的,并且名称是我期望的。然而 给出null,并且 这也返回为null。 我一直在寻找获取firebase数据集数据的方法,但我无法做到这一点。 如果有人能给我一些建议,那就太好了。 非常感谢。

  • 我需要从firestore中的以下数据结构中获取formName和id的数据。在这种情况下,如何获取数据,比如创建嵌套对象?

  • 问题内容: 我想获得前10名用户的最高游戏分数并将其显示在表格视图中。 在表格视图中,我希望显示10个最高得分手的姓名和得分。 任何帮助,将不胜感激。谢谢 问题答案: Firebase不提供任何通过查询来逆转排序顺序的方法。但是,如果您将分数存储为负值,那么超级简单。 这是一个结构 然后读取前三个“最高”分数22的代码,然后是20和12 和输出 当然,如果分数数量有限,也可以将它们读入数组并进行排

  • 问题内容: 我正在尝试获取Firebase存储桶中文件的“长期持久下载链接”。我已将其权限更改为 我的javacode看起来像这样: 当我运行它时,我得到的uri链接看起来像 com.google.android.gms.tasks.zzh@xxx 问题1.我是否可以从中获得类似于以下内容的下载链接:https : //firebasestorage.googleapis.com/v0/b/pro

  • 我想在Android Studio中获取isSeen节点的值。M6F2mJjQ8uGPXAynZzV是消息的id,并将消息更改为消息。我想在适配器类中获得这个值。

  • 我有一个带有此模式的数据库: 我测试了这段代码,但我无法从数据库中获得任何消息。我会感谢你的帮助。