У меня есть приложение идентификации, которое получает информацию о пользователе на основе аутентификации пользователя.У меня есть TextView для информации, такой как электронная почта, idnumber и т. Д. У меня есть те, которые отображаются на основе идентификатора входа при входе. Я пытаюсь показать изображение для этого конкретного человека в ImageView.Кроме того, если в систему войдет другой человек, его фотография также будет отображаться.
Это работает в Android Studio.В хранилище Firebase есть изображение с URL.Я создал коллекцию «изображений», которые будут соответствовать IUD (таким образом, UID одинаков для пользователя и изображения), который имеет строку URL-адреса изображения.Ниже приведено изображение его настройки.
![enter image description here](https://i.stack.imgur.com/jt1XM.png)
![enter image description here](https://i.stack.imgur.com/NMveJ.png)
Ниже приведен код:
private ImageView ProfileImage;
private Button logout;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
fireStore = FirebaseFirestore.getInstance();
mAuth = FirebaseAuth.getInstance();
FirebaseUser user = mAuth.getCurrentUser();
userID = user.getUid();
Name = (TextView) findViewById(R.id.profileName);
Email = (TextView) findViewById(R.id.profileEmail);
TwoPNum = (TextView) findViewById(R.id.profileUid);
Meal = (TextView) findViewById(R.id.mealsNum);
PantherFunds = (TextView) findViewById(R.id.pFundsNum);
Expiration = (TextView) findViewById(R.id.expirationDate);
Campus = (TextView) findViewById(R.id.campusText);
ProfileImage = (ImageView) findViewById(R.id.profilePhoto);
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
//new
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
toastMessage("Successfully signed in with: " + user.getEmail());
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
toastMessage("Successfully signed out.");
}
showData();
}
};
}
private void showData() {
DocumentReference user = fireStore.collection("users").document(userID);
user.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot doc = task.getResult();
assert doc != null;
Name.setText(doc.getString("name"));
Email.setText(doc.getString("email"));
TwoPNum.setText(doc.getString("twop_num"));
Meal.setText(String.valueOf(doc.getLong("meals")));
PantherFunds.setText(String.valueOf(doc.getDouble("pfunds")));
Expiration.setText(getDate(Long.parseLong("expiration_date")));
Campus.setText(doc.getString("campus"));
}
}
});
}
** Моей первой мыслью было создание другого метода ShowImage и ссылки на документ на Firestore на основе идентификатора пользователя, затем перетащите URL-адрес изображения и прикрепите это изображение к ImageView, как я это сделал.со всей другой информацией пользователя.Не работал.**