私はFirebaseデータベースを初めて使用しています。Firebaseデータベースにデータの配列を保存したいだけです。私はそれを保存しようとしているときにエラーを表示します。以下は私が述べたPOJOクラスとLogcatデータの保存中にエラーが発生しました。AndroidからFirebaseデータベースにデータの配列を保存する方法は?
POJOクラスのコーディング
@IgnoreExtraProperties
public class StudentReviews {
public String student_name;
public String student_class;
public String student_image;
public String student_section;
public ArrayList<Reviews> reviewsList = new ArrayList<>();
public void StudentReviews() {}
public class Reviews {
public String subject;
public String marks_taken;
public String total_marks;
public String teacher;
}
}
データの保存
StudentReviews studentReviews = new StudentReviews();
studentReviews.student_name = et_studentName.getText().toString();
studentReviews.student_class = et_student_class.getText().toString();
studentReviews.student_image = "";
studentReviews.student_section = sp_section.getSelectedItem().toString();
studentReviews.reviewsList = reviewsArray;
dbUploadReview.push().setValue(studentReviews); //165th Line in Logcat Error
Logcatエラー私はトンを削除
com.google.firebase.database.DatabaseException: Invalid key: this$0. Keys must not contain '/', '.', '#', '$', '[', or ']'
at com.google.android.gms.internal.zzbtf.zzjq(Unknown Source)
at com.google.android.gms.internal.zzbtf.zzay(Unknown Source)
at com.google.android.gms.internal.zzbtf.zzay(Unknown Source)
at com.google.android.gms.internal.zzbtf.zzay(Unknown Source)
at com.google.firebase.database.DatabaseReference.zza(Unknown Source)
at com.google.firebase.database.DatabaseReference.setValue(Unknown Source)
at com.trending.trendingadmin.fragment.WriteReview.uploadReviews(WriteReview.java:165)
彼のpublic ArrayList<Reviews> reviewsList = new ArrayList<>();
レビューリストにPOJOクラスデータは完全にFirebsaeデータベースに保存されています。
誰もがこの問題を解決するのを助けてくれます。
更新
私は2つの方法でこの問題を解決しています。 OlegOsipenko
1)で与えられる提案は別のファイルに内部クラスを移動する)静的
2として内部クラスを作ります。
私は期待していました。
WriteReview.javaの165行目は何ですか? –
また、[mcve]を入力してください。 –
@Yugeshのデータには、 '/'、 '。'、 '#'、 '$'、 '['、 ']'は含まれていない必要があります。同じ問題が発生していることを見つけるためには、文字または数字だけを使用してください。 –