【问题标题】:How to get data from firebase which is inside a unique ID如何从唯一 ID 内的 firebase 获取数据
【发布时间】:2018-01-07 17:18:31
【问题描述】:

加载用户信息方法

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

我知道如何获取静态数据,例如我定义的数据。但我想检索消息并在列表视图中显示。问题是我使用推送方法,每条消息都会创建一个唯一的 ID,并且其中包含消息。如何忽略唯一 ID 并仅获取消息并在列表视图中显示?有人可以提供适配器的代码吗,因为我仍然是初学者... 数据库 - http://ibb.co/fcRrxG

【问题讨论】:

  • postSnapshot.child("Name").getValue() 出了什么问题?尝试将其添加到某个适配器,而不是设置一个 TextView...您的适配器/列表视图在哪里定义?
  • 我还没有定义。我还不确定如何做到这一点......但是使用这种方法将数据提取到文本视图工作正常
  • 我可以获取代码以在列表视图中获取它吗?
  • 因为消息在唯一 ID 内。我不知道如何访问它

标签: android listview firebase-realtime-database adapter


【解决方案1】:

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

【讨论】:

  • 我不知道该怎么做...我能得到那个plz的代码吗?
猜你喜欢
  • 2018-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 2020-03-06
  • 2017-02-11
  • 1970-01-01
相关资源
最近更新 更多