0

我正在我的应用程序中从 firebase 实时下载数据。我们在启动画面上下载这些数据。在下载此数据之前,启动屏幕不应关闭。找不到如何执行此操作

这是我的代码;

   mDatabase.child("/server/Time").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            long time = dataSnapshot.getValue(Long.class);
            MyApplication.getInstance().setmServer(new server(time));
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            hideProgressDialog();
        }
    });
4

1 回答 1

2

如果您只想在从 Firebase 读取数据后隐藏启动画面,您应该将代码隐藏在onDataChange. 所以:

mDatabase.child("/server/Time").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        long time = dataSnapshot.getValue(Long.class);
        MyApplication.getInstance().setmServer(new server(time));
        hideProgressDialog();
        ... hide splash screen and perform other actions that depends on the data
    }
    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        hideProgressDialog();
    }
});

另见:

于 2021-04-18T01:14:28.083 回答