Je veux juste récupérer les données de mon firebase
mais je ne connais pas la bonne façon d'obtenir ces données. Voici mon erreur dans Android studio :
W/ClassMapper: No setter/field for chapterTwo found on class
com.junburg.moon.rockbottom.model.Chapter
W/ClassMapper: No setter/field for chatperOne found on class
com.junburg.moon.rockbottom.model.Chapter
W/ClassMapper: No setter/field for chapterTwo found on class
com.junburg.moon.rockbottom.model.Chapter
W/ClassMapper: No setter/field for chapterOne found on class
com.junburg.moon.rockbottom.model.Chapter
Et voici mes classes de données. Il s'agit d'une Chapter.class
modèle.
public class Chapter {
private String chaterName;
private String chaterExplain;
public Chapter() {
}
public Chapter(String chaterName, String chaterExplain) {
this.chaterName = chaterName;
this.chaterExplain = chaterExplain;
}
public String getChaterName() {
return chaterName;
}
public void setChaterName(String chaterName) {
this.chaterName = chaterName;
}
public String getChaterExplain() {
return chaterExplain;
}
public void setChaterExplain(String chaterExplain) {
this.chaterExplain = chaterExplain;
}
}
Et le Study.class
modèle
public class Subject {
private String subjectName;
private String subjectExplain;
private Chapter chapter;
public Subject() {
}
public Subject(String subjectName, String subjectExplain, Chapter
chapter) {
this.subjectName = subjectName;
this.subjectExplain = subjectExplain;
this.chapter = chapter;
}
public String getSubjectName() {
return subjectName;
}
public void setSubjectName(String subjectName) {
this.subjectName = subjectName;
}
public String getSubjectExplain() {
return subjectExplain;
}
public void setSubjectExplain(String subjectExplain) {
this.subjectExplain = subjectExplain;
}
public Chapter getChapter() {
return chapter;
}
public void setChapter(Chapter chapter) {
this.chapter = chapter;
}
}
Et voici mon addValueEventListener
code :
private void getStudyData() {
databaseReference.child("study")
.child("subject")
.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
subjectList.clear();
for (DataSnapshot ds : dataSnapshot.getChildren()) {
Subject subject = ds.getValue(Subject.class);
subjectList.add(subject);
Log.d(TAG, "onDataChange: " +
subject.getChapter().getChaterName() +
subject.getChapter().getChaterExplain());
}
studyRecyclerAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Enfin, voici mon arbre JSON dans la base de données Firebase.
J'ai essayé plusieurs méthodes, mais je n'ai pas pu résoudre cette erreur.
L'exécution du code ne renvoie pas les données de la classe Chapitre. Par exemple, l'exécution du code ne renvoie pas les données de la classe Chapitre :
subject.getChapter().getChaterName()
subject.getChapter().getChaterExplain()
J'apprécierais que vous m'aidiez à résoudre ce problème. Et je vous remercie de votre attention.