有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Datasnapshot映射到对象后,对象显示空值

我想从firebase数据库获取数据,我使用了valueEventListner Datasnapshot包含数据,但当它映射到用户对象时,对象将所有属性显示为null。请提出解决方案

    mDatabaseReference =mFireBaseDatabase.getReference(table_name);
    mDatabaseReference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            Log.v(TAG,"user snap shot count:"+dataSnapshot.getChildrenCount());
            // users is arraylist
        users.clear();
                for(DataSnapshot usersnapshot : dataSnapshot.getChildren())
                {
                    Log.v(TAG,"Profile user snap:"+usersnapshot.toString());

                   User user = usersnapshot.getValue(User.class);

                    Log.v(TAG,"user data:"+user.toString());
                }

        }

共 (1) 个答案

  1. # 1 楼答案

    当您插入数据时,时间会通过用户对象,如下所示

            User user = new User(name, email, pwd);
        mFirebaseDatabase.child(name).setValue(user);
    

    然后你的代码就好了,我想当你读数据的时候,你就可以定义firebase实例了

            mFirebaseInstance = FirebaseDatabase.getInstance();
      mDatabase = mFirebaseInstance.getReference("usersDb/UserTable");