英文:
Need help linking a textview to firebase using android studio
问题
FirebaseAuth mAuth;
FirebaseDatabase mFirebaseDatabase;
TextView username;
DatabaseReference myRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile_settings);
mAuth = FirebaseAuth.getInstance();
mFirebaseDatabase = FirebaseDatabase.getInstance();
myRef = mFirebaseDatabase.getReference().child("users");
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String userID = user.getUid();
username = (TextView) findViewById(R.id.username);
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("uid");
ref.child(userID).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String fName = dataSnapshot.child("fName").getValue().toString();
username.setText(fName);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Toast.makeText(getApplicationContext(),"Profile information failed.",Toast.LENGTH_LONG).show();
}
});
Here is my firebase rules
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth == null;
}
}
}
英文:
I have been trying to display the user data saved on the firebase database to display on my app via TextView. I am not sure where my error is occurring or maybe my read/write permissions are wrong
FirebaseAuth mAuth;
FirebaseDatabase mFirebaseDatabase;
TextView username;
DatabaseReference myRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile_settings);
mAuth = FirebaseAuth.getInstance();
mFirebaseDatabase = FirebaseDatabase.getInstance();
myRef = mFirebaseDatabase.getReference().child("users");
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String userID = user.getUid();
username = (TextView) findViewById(R.id.username);
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("uid");
ref.child(userID).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String fName = dataSnapshot.child("fName").getValue().toString();
username.setText(fName);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Toast.makeText(getApplicationContext(),"Profile information failed.",Toast.LENGTH_LONG).show();
}
});
Here is my firebase rules
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth == null;
}
}
}
专注分享java语言的经验与见解,让所有开发者获益!
评论