重复的:在课堂上找不到二传手 [英] Duplicated : No setter/field for found on class
问题描述
当我尝试使用Firebase获取数据时,出现此问题:
When I try to get the data using Firebase I got this issue:
在com.school.models.EmBeacon类上找不到0C:F3:EE:12:E0:4C的设置器/字段
No setter/field for 0C:F3:EE:12:E0:4C found on class com.school.models.EmBeacon
在com.school.models.EmBeacon类上找不到0C:F3:EE:12:E0:5C的设置器/字段
No setter/field for 0C:F3:EE:12:E0:5C found on class com.school.models.EmBeacon
在com.school.models.EmBeacon类上找不到0C:F3:EE:12:E0:E5的设置器/字段
No setter/field for 0C:F3:EE:12:E0:E5 found on class com.school.models.EmBeacon
这是我的数据结构:
这是获取我所有数据的代码:
and this is the code to get all my data:
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 + '\'' +
'}';
你知道这里有什么问题吗?
any idea what is wrong here ?
推荐答案
/beacons
下有多个信标,因此您需要在onDataChange
中循环遍历它们:
There are multiple beacons under /beacons
, so you need to loop over them in your 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());
}
});
这篇关于重复的:在课堂上找不到二传手的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!