Android 如何从Firebase检索所有数据并将其放在RecyclerView上
这是我的数据库结构 我想从儿童Android 如何从Firebase检索所有数据并将其放在RecyclerView上,android,firebase,firebase-realtime-database,android-recyclerview,firebaseui,Android,Firebase,Firebase Realtime Database,Android Recyclerview,Firebaseui,这是我的数据库结构 我想从儿童乘客中检索所有数据,并将其放入回收视图…这怎么可能?您可以使用该库 只需添加依赖项(0.5.3适用于firebase 9.4.0库): 定义您的数据库参考: FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference ref = database.getReference("passengers"); 然后: 创建自定义的ViewHolder类 创建自定义子类Fire
乘客
中检索所有数据,并将其放入回收视图
…这怎么可能?您可以使用该库
只需添加依赖项(0.5.3适用于firebase 9.4.0库):
定义您的数据库参考
:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("passengers");
然后:
- 创建自定义的
类ViewHolder
- 创建自定义子类
FirebaseRecyclerAdapter
ViewHolder
类:
public static class PassengerHolder extends RecyclerView.ViewHolder {
}
RecyclerView recycler = (RecyclerView) findViewById(R.id.messages_recycler);
recycler.setHasFixedSize(true);
recycler.setLayoutManager(new LinearLayoutManager(this));
mAdapter = new FirebaseRecyclerAdapter<Passenger, PassengerHolder>(Passenger.class, R.layout.mylayout, PassengerHolder.class, mRef) {
@Override
public void populateViewHolder(PassengerHolder passengerViewHolder, Passenger passenger, int position) {
passengerViewHolder.setName(passenger.getName());
//.......
}
};
recycler.setAdapter(mAdapter);
FirebaseRecyclerAdapter
类:
public static class PassengerHolder extends RecyclerView.ViewHolder {
}
RecyclerView recycler = (RecyclerView) findViewById(R.id.messages_recycler);
recycler.setHasFixedSize(true);
recycler.setLayoutManager(new LinearLayoutManager(this));
mAdapter = new FirebaseRecyclerAdapter<Passenger, PassengerHolder>(Passenger.class, R.layout.mylayout, PassengerHolder.class, mRef) {
@Override
public void populateViewHolder(PassengerHolder passengerViewHolder, Passenger passenger, int position) {
passengerViewHolder.setName(passenger.getName());
//.......
}
};
recycler.setAdapter(mAdapter);
RecyclerView recycler=(RecyclerView)findViewById(R.id.messages\u recycler);
回收商。setHasFixedSize(真);
回收商。setLayoutManager(新的LinearLayoutManager(本));
mAdapter=新的FirebaseRecyclerAdapter(passer.class、R.layout.mylayout、PassengerHolder.class、mRef){
@凌驾
公共无效人群视图持有人(乘客座乘客座乘客座乘客座乘客座乘客座乘客座内部位置){
setName(passenger.getName());
//.......
}
};
回收商。setAdapter(mAdapter);
您可以这样尝试:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference();
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//Your Logic here
for (DataSnapshot eventSnapshot : dataSnapshot.getChildren()) {
YourModel mModel = eventSnapshot.getValue(YourModel.class);
Log.e("DATA" ,""+ mModel);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
您必须为您的Recycleview
创建一个数组列表,并将每个模型即mModel
添加到您的数组列表中并显示在列表中
我还想使用
cardwiew
sir。怎么可能?@tin在你的布局文件中(被R.layout.mylayout引用)只包含一个CardView。嗨,@GabrieleMariotti我的应用程序也有同样的问题。我似乎无法读取所有数据,而我的应用程序只读取第一个节点/用户的数据。请你帮忙,我试过你在这里做什么,但我的结构有点不同,我似乎无法让它工作: