为了账号安全,请及时绑定邮箱和手机立即绑定

在没有监听器的情况下读取 RealtimeDatabase

在没有监听器的情况下读取 RealtimeDatabase

慕勒3428872 2023-03-09 15:06:07
我不明白为什么要立即从 Firebase RealtimeDatabase 读取数据如此困难。我认为除了使用监听器之外别无他法。在我的代码中,我想从对象用户那里读取提交的“tipo”并在屏幕上打印。但它不加载数据 private User user;@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_login);    mDatabaseAPI = FirebaseRealTimeDatabaseAPI.getInstance();    setFields();    Toast.makeText(this,user.getTipo(),Toast.LENGHT_LONG).show();}private void setFields() {        Authentication auth = new Authentication();        user = new User();        user = auth.getCurrentUser();        reference = mDatabaseAPI.getUserReferenceByUid(user.getUid()).child(user.TIPO);        reference.addValueEventListener(new ValueEventListener() {        @Override        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {            user.setTipo( dataSnapshot.getValue(Integer.class));        }        @Override        public void onCancelled(@NonNull DatabaseError databaseError) {        }    });}
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

这是因为你在 firebase 完成加载数据之前调用 Toast 来显示你的消息,这是一个异步调用,你必须做这样的事情


@Override

        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            user.setTipo( dataSnapshot.getValue(Integer.class));

            Toast.makeText(this,user.getTipo(),Toast.LENGHT_LONG).show();

        }


查看完整回答
反对 回复 2023-03-09
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信