如何从firebase中获取唯一ID内的数据

时间:2018-01-07 17:18:32

标签: android listview firebase-realtime-database adapter

LoadUserInfo方法

public void loadUserInformation() {

    final String uid = mAuth.getCurrentUser().getUid();
    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference().child("Users");
    ValueEventListener eventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot postSnapshot: dataSnapshot.getChildren()){
//                    String name=postSnapshot.child("Name").getValue().toString();;
//                    Name.setText(name);
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Toast.makeText(getApplicationContext(),"Error Loading Messages",Toast.LENGTH_LONG).show();
        }
    };
    rootRef.addListenerForSingleValueEvent(eventListener);
}

我知道如何获取静态数据,就像我定义的数据一样。但我想在列表视图中检索消息并显示。问题是我使用push方法,每条消息都创建一个唯一的id,里面包含消息。如何忽略唯一ID并只获取消息并在listview中显示?有些人可以提供适配器的代码,因为我还是初学者... Datatbase - http://ibb.co/fcRrxG

1 个答案:

答案 0 :(得分:0)

尝试在数据库的消息节点中的两个用户之间建立一个单一的聊天节点。 假设,使用您的id和您的朋友ID创建一个节点,并在该节点中添加HashMap中的聊天消息。 并且,在检索它时,获取节点的HashMap。