gpt4 book ai didi

java - 使用 Firestore 和 Firebase Storage 将图像检索到 ImageView

转载 作者:行者123 更新时间:2023-11-29 18:30:52 24 4
gpt4 key购买 nike

我有一个识别应用程序,可以根据用户身份验证检索用户信息。我有用于电子邮件、身份证号码等信息的 TextView。我在登录时根据 uId 显示这些信息。我正在尝试向 ImageView 显示该特定人员的图片。此外,如果其他人登录,他们的照片也会显示。

这在 Android Studio 中运行。 Firebase 存储有一个带有 url 的图像。我创建了一个“图像”集合,该集合将由 iud 对应(因此用户和图像的 uid 是相同的)具有图像 url 的字符串。以下是其设置方式的图片。

enter image description here

enter image description here

代码如下:

    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 并根据 uId 引用 Firestore 的文档,然后拉出图片的 url 并将该图片附加到 ImageView,就像我对所有其他用户信息所做的那样.没有工作。 **

最佳答案

您可以使用 Picasso插件来完成这个。您只需向它提供一个 url 和一个 ImageView,它就会自动下载您的图像并将其放置在 View 中。

只需将它添加到您的 gradle 依赖文件中:

implementation 'com.squareup.picasso:picasso:(insert latest version)'

或者行家:

<dependency>
<groupId>com.squareup.picasso3</groupId>
<artifactId>picasso</artifactId>
<version>(insert latest version)</version>
</dependency>

然后你可以使用这样的东西来加载图像:

Picasso.get().load("http://i.imgur.com/DvpvklR.png").into(imageView);

关于java - 使用 Firestore 和 Firebase Storage 将图像检索到 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56370571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com