0
dataSnapshotからフィールド値を抽出できません。ここでFirebaseのChildEventListener()から取得したDatasnapShotの内容を読む問題
コードです:ここでは
ChildEventListener userListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.d(TAG,"users count:"+dataSnapshot.getChildrenCount()+" users");
for(DataSnapshot receivedSnapshot:dataSnapshot.getChildren()) {
Log.d(TAG,"received Snapshot"+receivedSnapshot);
Toast.makeText(getBaseContext(),"received Snapshot"+receivedSnapshot,Toast.LENGTH_LONG).show();
Person person = receivedSnapshot.getValue(Person.class)// Getting the error for this line.
Log.i(TAG,"receivedSnapshot:"+person.toString());
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
dataBase = FirebaseDatabase.getInstance();
DatabaseReference userTable = dataBase.getReference("users");
userTable.addChildEventListener(userListener);
がlogcatです:
Process: com.example.raghavkishan.wealthmanagement, PID: 23843
Theme: themes:{default=overlay:system, iconPack:website.leifs.delta, fontPkg:system, com.android.systemui=overlay:system, com.android.systemui.navbar=overlay:system}
com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type com.example.raghavkishan.wealthmanagement.Person
マイ者クラス:
private String personName;
private String personEmail;
private int phoneNumber;
private String dateOfBirth;
private String city;
private String state;
private String country;
private String groupId;
public Person(String personName,String personEmail,int phoneNumber,String dateOfBirth,String city,String state,String country,String groupId){
this.personName = personName;
this.personEmail = personEmail;
this.phoneNumber = phoneNumber;
this.dateOfBirth = dateOfBirth;
this.city = city;
this.state = state;
this.country = country;
this.groupId = groupId;
}[![enter image description here][1]][1]
画像は、データベースの構造が含まれています。ユーザーのUIDがノードのキーです。
私はfirebaseデータベースにデータを投稿するPersonクラスのオブジェクトを使用しています。しかし、私は上記のエラーに遭遇しているそれを取得しながら。
1)私は間違いがありますか?
2)代替方法はありますか?
Personクラス定義とFirebaseノード –
を投稿してください。データベース構造とあなたのpojoを追加してください。 –
@SushobhNadiger投稿者クラスとデータベース構造を持つ投稿を更新しました –