首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能解析到快照: Firebase setValue ANDROID

未能解析到快照: Firebase setValue ANDROID
EN

Stack Overflow用户
提问于 2018-05-15 08:11:41
回答 1查看 198关注 0票数 1
代码语言:javascript
复制
firebase = new Firebase(Config.FIREBASE_URL_FARE);
        firebase.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.getChildrenCount() == 0) {
                    Fare fare = new Fare();
                    fare.setOrdinaryRegFirstFive(ordinaryRegularFF);
                    fare.setOrdinaryRegSucceeding(ordinaryRegSucceeding);
                    fare.setOrdinaryDiscountedFirstFive(ordinaryDisFF);
                    fare.setOrdinaryDiscountedSucceeding(ordinaryDisSucceeding);
                    fare.setAirconRegPerKm(airconRegPerKm);
                    fare.setAirconDiscountedPerKm(airconDisPerKm);
                    fare.setBusCompany(pref.getString("companyName", ""));
                    firebase.push().setValue(fare);

                    edtOrdinaryRegFF.setText("");
                    edtOrdinaryRegSucceeding.setText("");
                    edtOrdinaryDisFF.setText("");
                    edtOrdinaryDisSucceeding.setText("");
                    edtAirconRegPerKm.setText("");
                    edtAirconDisPerKm.setText("");
                    Toast.makeText(BusFareActivity.this, "Setting fare successfully.", Toast.LENGTH_LONG).show();
                }
 else {
                    for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                        if (postSnapshot.child("busCompany").exists() && postSnapshot.child("busCompany").equals(pref.getString("companyName", ""))) {
                            postSnapshot.getRef().child("ordinaryRegFirstFive").setValue(ordinaryRegularFF);
                            postSnapshot.getRef().child("ordinaryRegSucceeding").setValue(ordinaryRegSucceeding);
                            postSnapshot.getRef().child("ordinaryDiscountedFirstFive").setValue(ordinaryDisFF);
                            postSnapshot.getRef().child("ordinaryDiscountedSucceeding").setValue(ordinaryDisSucceeding);
                            postSnapshot.getRef().child("airconRegPerKm").setValue(airconRegPerKm);
                            postSnapshot.getRef().child("airconDiscountedPerKm").setValue(airconDisPerKm);

                            Toast.makeText(BusFareActivity.this, "Successfully updated the fare.", Toast.LENGTH_LONG).show();
                            check++;
                        }
                    }
                    if (check == 0) {
                        Fare fare = new Fare();
                        fare.setOrdinaryRegFirstFive(ordinaryRegularFF);
                        fare.setOrdinaryRegSucceeding(ordinaryRegSucceeding);
                        fare.setOrdinaryDiscountedFirstFive(ordinaryDisFF);
                        fare.setOrdinaryDiscountedSucceeding(ordinaryDisSucceeding);
                        fare.setAirconRegPerKm(airconRegPerKm);
                        fare.setAirconDiscountedPerKm(airconDisPerKm);
                        fare.setBusCompany(pref.getString("companyName", ""));
                        firebase.push().setValue(fare);

                        edtOrdinaryRegFF.setText("");
                        edtOrdinaryRegSucceeding.setText("");
                        edtOrdinaryDisFF.setText("");
                        edtOrdinaryDisSucceeding.setText("");
                        edtAirconRegPerKm.setText("");
                        edtAirconDisPerKm.setText("");
                        Toast.makeText(BusFareActivity.this, "Setting fare successfully.", Toast.LENGTH_LONG).show();
                        startActivity(new Intent(BusFareActivity.this, BusFareActivity.class));
                    }
                    check = 0;
                }

除了Fare.java之外,来自busCompany的所有数据都是双倍的。我不明白为什么它不能解析快照setValue方法。

代码语言:javascript
复制
public class Fare {

private double ordinaryRegFirstFive;
private double ordinaryRegSucceeding;
private double ordinaryDiscountedFirstFive;
private double ordinaryDiscountedSucceeding;
private double airconRegPerKm;
private double airconDiscountedPerKm;
private String busCompany;

public Fare() {}

public void setOrdinaryRegFirstFive(double ordinaryRegFirstFive) {
    this.ordinaryRegFirstFive = ordinaryRegFirstFive;
}

public void setOrdinaryRegSucceeding(double ordinaryRegSucceeding) {
    this.ordinaryRegSucceeding = ordinaryRegSucceeding;
}

public void setOrdinaryDiscountedFirstFive(double ordinaryDiscountedFirstFive) {
    this.ordinaryDiscountedFirstFive = ordinaryDiscountedFirstFive;
}

public void setOrdinaryDiscountedSucceeding(double ordinaryDiscountedSucceeding) {
    this.ordinaryDiscountedSucceeding = ordinaryDiscountedSucceeding;
}

public void setAirconRegPerKm(double airconRegPerKm) {
    this.airconRegPerKm = airconRegPerKm;
}

public void setAirconDiscountedPerKm(double airconDiscountedPerKm) {
    this.airconDiscountedPerKm = airconDiscountedPerKm;
}

public void setBusCompany(String busCompany) {
    this.busCompany = busCompany;
}
}

火力基础错误:

com.firebase.client.FirebaseException:无法解析到快照

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-15 09:10:02

您正在pojo类中使用私有变量,这可能是出现异常的原因之一。当您试图将使用模型类推送到火基时,变量应该是公共的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50345353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档