【发布时间】:2020-07-28 14:05:15
【问题描述】:
有我的数据库规则:
"Results" : {
".indexOn":["namaGroup"],
".read": "auth != null",
".write": "auth !=null",
},
这是我的代码:
private void updateScore(final String namaGroup, final RankingCallback<Ranking> callback) {
questionScore = FirebaseDatabase.getInstance().getReference();
final DatabaseReference ref1= questionScore.child("Results");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot ds:snapshot.getChildren()) {
String key = ds.getKey();
DatabaseReference ref = questionScore.child(key);
ref.orderByChild("namaGroup").equalTo(namaGroup);
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot ds : snapshot.getChildren()) {
GroupScore ques = ds.getValue(GroupScore.class);
sum += Integer.parseInt(String.valueOf(Objects.requireNonNull(ques).getScore()));
}
Ranking ranking = new Ranking(namaGroup, sum);
callback.callBack(ranking);
Log.d("TAG", ranking.getNamaGroup());
Log.d("TAG", String.valueOf(ranking.getScore()));
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
};
ref.addListenerForSingleValueEvent(eventListener);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
};
ref1.addListenerForSingleValueEvent(valueEventListener);
我收到下一个错误作为警告日志:DatabaseError: Permission denied。
我想通过从表格结果中循环像我的代码一样的快照来总结每个成员的分数:Structure of the database
【问题讨论】:
-
发布包含数据库规则的整个文件。可能会有所帮助。
标签: android firebase firebase-realtime-database firebase-security