Firebaseユーザ情報を格納するモデルクラスがあります。モデルクラスの中には、内部にすべてのデータを格納するHashMapがあります。データを保存したら、HashmapをFirebaseデータベースにプッシュします。値は正常に保存されますが、値にアクセスできません。私がそれらにアクセスしようとするたびに、nullのオブジェクト参照で仮想メソッドを呼び出そうとしているというエラーが表示されます。Firebaseクラスを取得しようとしているときにnullのオブジェクト参照があります。
mDatabase.child("users").child(mUserId).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot ChildSnapshot, String s) {
// These two lines of code give the error.
User author = ChildSnapshot.child("profile").getValue(User.class);
String author_username = author.getUsername();
これらは私にエラーを与えます。スナップショットの子からデータを取得しようとしています。なぜこれは私にエラーを与えるのですか?これを行うより良い方法はありますか?
JSON Firebaseのスナップショット:
Modelクラス:他の誰かがこの問題に苦しんでいた
//TODO model class for the user. This way I can set the values for each user. I will be adding more values in the future.
public class User {
public HashMap<String, String> hashMap = new HashMap<String,String>();
public User() {
}
public User(String username) {
hashMap.put("username",username);
}
public String getUsername(){
return hashMap.get("username");
}
}
あなたのFirebase DBスナップ –
を編集し、スナップショット行を追加しました。 –
あなたのFirebaseデータベースを意味します。 –