【问题标题】:Displaying the database nodes from Firebase in a list in Android在 Android 的列表中显示来自 Firebase 的数据库节点
【发布时间】:2017-05-14 18:42:33
【问题描述】:

一个简单的问题:

参考我的数据库图像,我想在 Activity 的列表中获取节点“user”的子节点的值,即值“a”和“m”应该显示在列表中。

我应该使用什么以及如何使用?

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    请试试这个代码:

    DatabaseReference yourRef = FirebaseDatabase.getInstance().getReference().child("user");
    yourRef.addValueEventListener(new ValueEventListener() {
      @Override
      public void onDataChange(DataSnapshot dataSnapshot) {
        List<String> usersList = new ArrayList<>();
        for (DataSnapshot ds : dataSnapshot.getChildren()) {
            String userName = (String) ds.getKey();
            usersList.add(userName);
        }
      }
    
      @Override
      public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException(); // don't ignore errors
      }
    });
    

    这是您在列表中的显示方式,am 等等。

    希望对你有帮助。

    【讨论】:

    • 我想在 ListView 或某种实时 View 或 RecyclerView 中显示这些列表项,但没有得到想要的结果。
    • 强制关闭应用
    • 好的,但是你的 log_cat 肯定有错误。哪个是错误?
    【解决方案2】:

    您可以从文档here 获取信息

    List<User> allUsers = new ArrayList<>();
    DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("user");
    
    ref.addValueEventListener(new ValueEventListener() {
      @Override
      public void onDataChange(DataSnapshot dataSnapshot) {
        allUsers.clear();
        for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
            allUsers.add(userSnapshot.getValue(User.class));
        }
        yourRecyclerViewAdapter.notifyDataSetChanged();
      }
    
      @Override
      public void onCancelled(DatabaseError databaseError) {
        // Getting Users failed, log a message
        Log.w(TAG, "loadUser:onCancelled", databaseError.toException());
        // ...
      }
    });
    

    【讨论】:

    • 我想在 ListView 或某种实时 View 或 RecyclerView 中显示这些列表项,但没有得到想要的结果。
    猜你喜欢
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多