[英]Duplicated : No setter/field for found on class
當我嘗試使用Firebase獲取數據時,出現了以下問題:
在com.school.models.EmBeacon類上找不到0C:F3:EE:12:E0:4C的設置器/字段
在com.school.models.EmBeacon類上找不到0C:F3:EE:12:E0:5C的設置器/字段
在com.school.models.EmBeacon類上找不到0C:F3:EE:12:E0:E5的設置器/字段
這是我的數據結構:
這是獲取我所有數據的代碼:
mDatabase.child("beacons").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
EmBeacon mBeacon = dataSnapshot.getValue(EmBeacon.class);
Log.i(TAG, "onDataChange: "+mBeacon);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.w(TAG, "onCancelled:", databaseError.toException());
}
});
和類:
public class EmBeacon {
private String proximityUuid;
private int major;
private int minor;
private String addressMac;
public EmBeacon() {
}
public EmBeacon( String addressMac) {
this.addressMac = addressMac;
}
public EmBeacon(String proximityUuid, int major, int minor, String addressMac) {
this.proximityUuid = proximityUuid;
this.major = major;
this.minor = minor;
this.addressMac = addressMac;
}
public String getProximityUuid() {
return proximityUuid;
}
public void setProximityUuid(String proximityUuid) {
this.proximityUuid = proximityUuid;
}
public int getMajor() {
return major;
}
public void setMajor(int major) {
this.major = major;
}
public int getMinor() {
return minor;
}
public void setMinor(int minor) {
this.minor = minor;
}
public String getAddressMac() {
return addressMac;
}
public void setAddressMac(String addressMac) {
this.addressMac = addressMac;
}
@Override
public String toString() {
return "EmBeacon{" +
"proximityUuid='" + proximityUuid + '\'' +
", major='" + major + '\'' +
", minor='" + minor + '\'' +
", addressMac='" + addressMac + '\'' +
'}';
知道這里有什么問題嗎?
/beacons
beacons下有多個信/beacons
,因此您需要在onDataChange
對其進行循環:
mDatabase.child("beacons").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot beaconSnapshot: dataSnapshot.getChildren()) {
EmBeacon mBeacon = beaconSnapshot.getValue(EmBeacon.class);
Log.i(TAG, "onDataChange: "+mBeacon);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.w(TAG, "onCancelled:", databaseError.toException());
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.