无法检索 firebase 当前在线用户的数据
Unable to retrievw data of firebase current online user
我想将当前在线用户的特定节点 (clicksRemain) 的数据从 firebase 检索到 textView 中,但数据未显示。下面是我的代码。
练习活动
public class PracticeActivity extends AppCompatActivity {
TextView link1;
DatabaseReference dRef;
FirebaseDatabase firebaseDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_practice);
link1 = findViewById(R.id.link1);
firebaseDatabase = FirebaseDatabase.getInstance();
dRef = FirebaseDatabase.getInstance().getReference();
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
dRef.child("clicksRemain").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
String remainingClicks = snapshot.getValue(String.class);
link1.setText(remainingClicks);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}else{
link1.setText("10");
}
}
}
我认为检查用户是否登录的代码是正确的,就像用户注销一样,然后应用程序显示此代码中所写的值 10。
Snapshot of database
提前致谢
我已完成这些更改,现在已成功检索到数据。
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String uID = user.getUid();
dRef = FirebaseDatabase.getInstance().getReference("Users");
dRef.child(uID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
String remainingClicks = String.valueOf(snapshot.child("clicksRemain").getValue(Integer.class));
link1.setText(remainingClicks);
}
我想将当前在线用户的特定节点 (clicksRemain) 的数据从 firebase 检索到 textView 中,但数据未显示。下面是我的代码。
练习活动
public class PracticeActivity extends AppCompatActivity {
TextView link1;
DatabaseReference dRef;
FirebaseDatabase firebaseDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_practice);
link1 = findViewById(R.id.link1);
firebaseDatabase = FirebaseDatabase.getInstance();
dRef = FirebaseDatabase.getInstance().getReference();
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
dRef.child("clicksRemain").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
String remainingClicks = snapshot.getValue(String.class);
link1.setText(remainingClicks);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}else{
link1.setText("10");
}
}
}
我认为检查用户是否登录的代码是正确的,就像用户注销一样,然后应用程序显示此代码中所写的值 10。
Snapshot of database
提前致谢
我已完成这些更改,现在已成功检索到数据。
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String uID = user.getUid();
dRef = FirebaseDatabase.getInstance().getReference("Users");
dRef.child(uID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
String remainingClicks = String.valueOf(snapshot.child("clicksRemain").getValue(Integer.class));
link1.setText(remainingClicks);
}