【问题标题】:Show list of data on my firebase database在我的 firebase 数据库上显示数据列表
【发布时间】:2018-07-22 09:53:59
【问题描述】:

您好,我正在尝试显示我在activity 中输入的数据,但问题是我不知道如何操作,我对数据快照一无所知。我想只显示姓名和电子邮件

我的数据库

到目前为止我的代码和进度

public class AdminActivity extends AppCompatActivity {
private DrawerLayout mdrawerl;
private ActionBarDrawerToggle mtoggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_admin);
    DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Accounts").child("Users");
    ref.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            collectName((Map<String,Object>)dataSnapshot.getValue());
        }
        private void collectName(Map<String, Object> value) {
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {

        }                         
    });

我使用的参考How to get all child's data in firebase database?

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    1- 创建一个模型类来保存用户的对象。在你的情况下,它会是

    public class User {
    private String email;
    private String name;
    private int type;
    
    public User() {
    }
    
    public User(String email, String name, int type) {
        this.email= email;
        this.name= name;
        this.type= type;
    }
    }
    

    2 - 创建一个 ArrayList 来保存 User 的项目

    ref.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                ArrayList<User> userList = new ArrayList();
                for (DataSnapshot child :
                                dataSnapshot.getChildren()) {
                    User user = child.getValue(User.class);
                    userList.add(user )
                }
               //Here you have all user you can pass ```userList``` to your method furthur
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {
    
            }                         
        });
    

    希望这会对你有所帮助。

    【讨论】:

    • 您好,请问您所说的“这里有所有用户,您可以将userList 传递给您的方法进一步”是什么意思?
    • 我的意思是,您将拥有 User 节点下的所有数据到 userList 您可以将 userList 作为参数传递给您的任何方法并执行您自己的使用-以它为例。
    • 哦,先生,您好,谢谢您的回复,嗯,很抱歉这么说,但我不明白 :(( 如果可能的话,您能给我一些样品吗?
    • 你有什么不明白的?
    猜你喜欢
    • 2021-09-01
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    相关资源
    最近更新 更多