英文:
How to retreive lists from firebase database with my model class
问题
大家好,
我正在尝试从 Firebase 检索数组列表,并希望通过我的模型类获取它们。然而,我通过同一模型类存储了数据,但无法检索。这是我的模型类:
public class PickupRequestsInfo implements Serializable {
Double lat, lng;
ArrayList<Double> listDestLat, listDestLng;
ArrayList<String> listDestination, listReceiverName, listReceiverMob, listParcelWeight,
listParcelSze;
public PickupRequestsInfo() {
}
public PickupRequestsInfo(Double lat, Double lng, ArrayList<Double> listDestLat, ArrayList<Double>
listDestLng,
ArrayList<String> listDestination, ArrayList<String> listReceiverName,
ArrayList<String> listReceiverMob, ArrayList<String> listParcelWeight,
ArrayList<String> listParcelSze) {
this.lat = lat;
this.lng = lng;
this.listDestLat = listDestLat;
this.listDestLng = listDestLng;
this.listDestination = listDestination;
this.listReceiverName = listReceiverName;
this.listReceiverMob = listReceiverMob;
this.listParcelWeight = listParcelWeight;
this.listParcelSze = listParcelSze;
}
public Double getLat() {
return lat;
}
public void setLat(Double lat) {
this.lat = lat;
}
public Double getLng() {
return lng;
}
public void setLng(Double lng) {
this.lng = lng;
}
public ArrayList<Double> getListDestLat() {
return listDestLat;
}
public void setListDestLat(ArrayList<Double> listDestLat) {
this.listDestLat = listDestLat;
}
public ArrayList<Double> getListDestLng() {
return listDestLng;
}
public void setListDestLng(ArrayList<Double> listDestLng) {
this.listDestLng = listDestLng;
}
public ArrayList<String> getListDestination() {
return listDestination;
}
public void setListDestination(ArrayList<String> listDestination) {
this.listDestination = listDestination;
}
public ArrayList<String> getListReceiverName() {
return listReceiverName;
}
public void setListReceiverName(ArrayList<String> listReceiverName) {
this.listReceiverName = listReceiverName;
}
public ArrayList<String> getListReceiverMob() {
return listReceiverMob;
}
public void setListReceiverMob(ArrayList<String> listReceiverMob) {
this.listReceiverMob = listReceiverMob;
}
public ArrayList<String> getListParcelWeight() {
return listParcelWeight;
}
public void setListParcelWeight(ArrayList<String> listParcelWeight) {
this.listParcelWeight = listParcelWeight;
}
public ArrayList<String> getListParcelSze() {
return listParcelSze;
}
public void setListParcelSze(ArrayList<String> listParcelSze) {
this.listParcelSze = listParcelSze;
}
}
这是我用来检索的代码:
pRef = FirebaseDatabase.getInstance().getReference("PickupRequests");
pRef.child(senderId).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.hasChildren()){
info = dataSnapshot.getValue(PickupRequestsInfo.class);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
但是,无论我尝试从我的模型类中获取任何项,例如 info.getLat().get(0)
,它都会返回 null 并抛出一个空指针异常。请指导我如何从我的数据库获取列表。提前谢谢。
英文:
Here is my Firebase Database Node which i want to retreive
Hello Everyone,
I am trying to retreive arraylist from firebase and want to get them through my model class. However i stored the data through same model class but can't retreive. Here is my model class
public class PickupRequestsInfo implements Serializable {
Double lat , lng;
ArrayList<Double> listDestLat , listDestLng;
ArrayList<String> listDestination , listReceiverName , listReceiverMob , listParcelWeight ,
listParcelSze;
public PickupRequestsInfo() {
}
public PickupRequestsInfo(Double lat, Double lng, ArrayList<Double> listDestLat, ArrayList<Double>
listDestLng,
ArrayList<String> listDestination, ArrayList<String> listReceiverName,
ArrayList<String> listReceiverMob, ArrayList<String> listParcelWeight,
ArrayList<String> listParcelSze) {
this.lat = lat;
this.lng = lng;
this.listDestLat = listDestLat;
this.listDestLng = listDestLng;
this.listDestination = listDestination;
this.listReceiverName = listReceiverName;
this.listReceiverMob = listReceiverMob;
this.listParcelWeight = listParcelWeight;
this.listParcelSze = listParcelSze;
}
public Double getLat() {
return lat;
}
public void setLat(Double lat) {
this.lat = lat;
}
public Double getLng() {
return lng;
}
public void setLng(Double lng) {
this.lng = lng;
}
public ArrayList<Double> getListDestLat() {
return listDestLat;
}
public void setListDestLat(ArrayList<Double> listDestLat) {
this.listDestLat = listDestLat;
}
public ArrayList<Double> getListDestLng() {
return listDestLng;
}
public void setListDestLng(ArrayList<Double> listDestLng) {
this.listDestLng = listDestLng;
}
public ArrayList<String> getListDestination() {
return listDestination;
}
public void setListDestination(ArrayList<String> listDestination) {
this.listDestination = listDestination;
}
public ArrayList<String> getListReceiverName() {
return listReceiverName;
}
public void setListReceiverName(ArrayList<String> listReceiverName) {
this.listReceiverName = listReceiverName;
}
public ArrayList<String> getListReceiverMob() {
return listReceiverMob;
}
public void setListReceiverMob(ArrayList<String> listReceiverMob) {
this.listReceiverMob = listReceiverMob;
}
public ArrayList<String> getListParcelWeight() {
return listParcelWeight;
}
public void setListParcelWeight(ArrayList<String> listParcelWeight) {
this.listParcelWeight = listParcelWeight;
}
public ArrayList<String> getListParcelSze() {
return listParcelSze;
}
public void setListParcelSze(ArrayList<String> listParcelSze) {
this.listParcelSze = listParcelSze;
}
}
Here is the code which i used to retrieve
pRef = FirebaseDatabase.getInstance().getReference("PickupRequests");
pRef.child(senderId).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.hasChildren()){
info = dataSnapshot.getValue(PickupRequestsInfo.class);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
But it whenever i tried to get any item from my Model class e.g. info.getLat().get(0)
it gives me null and throws a NULLPointerException. Please Guide me how can i get the lists from my database. Thanks in advance
专注分享java语言的经验与见解,让所有开发者获益!
评论