firebaseデータベースから特定のデータを読みたい。私が現在していることはここにあります。Firebaseデータベースからデータを読み取る
DatabaseReference database = FirebaseDatabase.getInstance().getReference();
DatabaseReference myRef = database.child("profiles/");
myRef.child(phoneNo).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
user = dataSnapshot.getValue(User.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
DB
public void writeToDBProfiles(Object data,String phoneNo) {
DatabaseReference database = FirebaseDatabase.getInstance().getReference();
DatabaseReference myRef = database.child("profiles/" + phoneNo);
myRef.setValue(data);
}
しかし、その返すnullに書き込むための方法...すべてのヘルプは理解されるであろう。
データの読み取り権限がありますか? http://stackoverflow.com/documentation/firebase/5548/how-do-i-listen-for-errors-when-accessing-the-database/22652/detect-errors-when-reading-data-on-androidを参照してください。 #t = 201609302251033886091 –
@FrankvanPuffelen彼が共有するスナップショットは、トップに**デフォルトのセキュリティルールのバナーを持っています**彼の.writeと.readは両方ともauth!= nullですか?**その中に大文字と小文字を区別することができます。間違っていれば私を修正してください。 –
私はそのバナーを見逃しましたが、確かにそれはすべきです。最も可能性の高い問題は、ユーザーが認証されていないことです。単純な 'throw databaseError.toException()'を 'onCancelled()'に追加し、完了リスナーを 'setValue()'に追加すると、最も簡単に見つけることができます。どちらもリンク先のページに記載されています。 –