java - 如何从firebase :获取数据

标签 java android firebase firebase-realtime-database

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

this is my database

公共(public)字符串日期;

@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();
}

最佳答案

在 onDataChange 中添加 toast:

 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。

关于java - 如何从firebase :获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49462883/

相关文章:

Java MVC 和 Rest 服务器以及 JavaScript 重客户端

java - Cargo-Maven2-Plugin 找不到 Tomcat/lib 目录

android - 无法在 Android 中设置 Firebase 数据库

java - 如何使用 Hibernate @Any 相关的注解?

android - Nativescript Gestures 不适用于带有 ScrollViews 的 android View

android - 不管怎样 告诉 webView 中的内容何时完全加载?

Android 以字节为单位设置 edittext 最大限制

javascript - Firebase 管理 SDK 无法在 Cloud Scheduler (PubSub) 上运行

javascript - TypeError : firebase. 存储不是函数

创建本地和实例对象时出现 java StackOverflowError