Код
protected void onStart() {
super.onStart();
fetchResults();
}
private void fetchResults() {
mDatabaseReference.child("Users").child(id).child("Quiz").child("Results").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot resultSnapshot: dataSnapshot.getChildren()) {
String user = resultSnapshot.getKey();
String score = resultSnapshot.getValue(String.class);
Results results = new Results(user, score);
resultsList.add(results);
}
mAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
}
Сохранение данных
String name = RecieversName;
HashMap<String, String> userMap = new HashMap<>();
userMap.put("Name", name);
userMap.put("Score", String.valueOf(mScore));
mRef.child("Users").child(RecieversId).child("Quiz").child("Results").child(UID).setValue(userMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Intent intent = new Intent(TakingQuiz.this, TakingQuizDone.class);
intent.putExtra("RecieversId",RecieversId);
intent.putExtra("Score", mScore.toString());
startActivity(intent);
finish();
}
}
});
Структура базы данных - https://ibb.co/dJ6PdJ
Если имя было постоянным, а значение переменным, я мог быя решил это сам, я думаю, но здесь имя задается именем пользователя и значением оценки ... Я никогда не работал с этим типом в базе данных Firebase, так что неуверен ... когда я запускаю приведенный выше код, он непоказать что-нибудь просто пустой экран