【发布时间】:2018-02-05 16:22:04
【问题描述】:
我正在开发一个测验应用程序,用户通过该应用程序进行测验,并在 10 个问题后将分数保存到 Firebase 中的数据库中。
这是我目前的代码:
String user_id = mAuth.getCurrentUser().getUid();
DatabaseReference current_user_db =
FirebaseDatabase.getInstance().getReference().child("Score").child(user_id);
final int score = mScore;
**databaseUserName = FirebaseDatabase.getInstance().getReference().child("Users").child(user_id).child("username");
databaseUserName.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
@Override
public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
String username = dataSnapshot.getValue().toString();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});**
//Ensures everything saves at the same time
Map newPost = new HashMap();
newPost.put("Score", score);
**newPost.put("Username", username);**
current_user_db.setValue(newPost);
** ** 中包含的部分是我遇到一些困难的地方。
用户使用 FirebaseAuth 注册我的应用,然后使用我在“用户”实时数据库中存储的名称和用户名的 UID。
我希望分数数据库使用用户名而不是自动生成的 UID 保存最终分数。我只是不确定如何获取用户名,然后将其保存到新数据库中。
我还附上了我当前数据库外观的屏幕截图。
我只使用 Firebase 和 Android Studio 几个星期,所以任何帮助/链接都非常感谢。
【问题讨论】:
标签: java android firebase firebase-realtime-database