当前位置: 首页 > 知识库问答 >
问题:

从Firebase实时数据库读取应用程序时崩溃

澹台星光
2023-03-14
 public  final  ArrayList<Parking> parkingArrayList=new ArrayList<Parking>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    FirebaseDatabase firebaseDatabase=FirebaseDatabase.getInstance();
    firebaseDatabase.setPersistenceEnabled(true);
    DatabaseReference databaseReference=firebaseDatabase.getReference();
    databaseReference.child("Parking").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
           for(DataSnapshot dataSnapshot1:dataSnapshot.getChildren()){
            Parking p=dataSnapshot1.getValue(Parking.class);
           }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
public class  Parking implements  Comparable<Parking>,Parcelable {
public  String name;
public  String zone;
public String location;
public int capacity;
public double latitude;
public double longtitude;
int free=0;
int taken=0;
int id;
public  Parking(){
}
public Parking(int capacity,double latitude,String location, double longtitude,String name,String zone){
    this.capacity=capacity;
    this.location=location;
    this.name=name;
    this.zone=zone;
    this.latitude=latitude;
    this.longtitude=longtitude;
    this.taken=getTaken();
    this.free=getFree();
}

protected Parking(Parcel in) {
    name = in.readString();
    zone = in.readString();
    location = in.readString();
    capacity = in.readInt();
    latitude = in.readDouble();
    longtitude = in.readDouble();
    free = in.readInt();
    taken = in.readInt();
}

public static final Creator<Parking> CREATOR = new Creator<Parking>() {
    @Override
    public Parking createFromParcel(Parcel in) {
        return new Parking(in);
    }

    @Override
    public Parking[] newArray(int size) {
        return new Parking[size];
    }
};

public int getCapacity() {
    return capacity;
}

public int getFree() {
    return capacity-getTaken();
}

public int getTaken() {
    Random random=new Random();
    this.taken=random.nextInt(capacity+1);
    return  taken;
}

public  void  setFree(int taken){
    free=capacity-taken;
}
public void setTaken(int taken) {
    Random random=new Random();
    this.taken=random.nextInt(capacity+1);
}
public  double getLatitude(){
    return  latitude;
}
public  double getLongtidue(){
    return  longtitude;
}


@Override
public String toString() {
    return String.format("%s\t\tZone: %s\nlocation: %s\nCapacity: %d\t\tFree: %d",name,zone,location,capacity,getFree());
}


@Override
public int compareTo(@NonNull Parking parking) {
    return Integer.compare(parking.free,this.free);
}

@Override
public int describeContents() {
    return 0;
}

@Override
public void writeToParcel(Parcel parcel, int i) {
    parcel.writeInt(capacity);
    parcel.writeDouble(latitude);
    parcel.writeString(location);
    parcel.writeDouble(longtitude);
    parcel.writeString(name);
    parcel.writeString(zone);
   parcel.writeInt(getTaken());
    parcel.writeInt(getFree());
}

暂时还没有答案

 类似资料:
  • 我已经花了几个小时阅读产品分支中的0和1。请在Firebase数据库有经验的人帮助我:(

  • 我一直试图从firebase实时数据库中获取一些上传的数据,但应用程序一直崩溃。 我将从“profile_tab”转到“project_creation_activity”,以便将数据上载到Firebase,处理数据上载的代码如下所示 行Profile_Tab行511是:

  • 我正在尝试读取我的Flutter应用程序中的firebase实时数据库中的数据,并将其分配给模型类,但是,我在控制台中得到了以下错误。 下面是我到目前为止所做的代码 员工类别 我不知道我做错了什么,请帮我解决这个问题

  • 我正在一个聊天应用程序,其中消息存储在firebase实时数据库。现在,如果我创建一个如下所示的节点(Chats-Better-A-ID和-B-ID是自动生成的聊天室密钥),那么我想知道当用户S在聊天应用程序中打开与用户T聊天时,so数据库将只读取存储在Chats-Better-S-T-ID中的消息,而不会读取其他聊天室消息!?我说的对吗?如果是,那么它会降低定价吗? 或 如果我存储如下所示的数据

  • 我对Android dev和Firebase很陌生。 我需要以下帮助: 提前谢谢你。 公共类AddUsername扩展片段实现View.OnClickListener,TextWatcher{

  • 我正试图用下面的“为Android设置Firebase实时数据库”的例子写入我的数据库,但应用程序在启动时崩溃。 似乎是因为依赖: 我的应用程序Build.Gradle: 如何解决此问题?