java - 在 imageview 中显示来自 firebase 数据库的图像

标签 java android firebase firebase-realtime-database firebase-storage

这个问题没有直接答案,我尝试过各种方法。我需要将存储在 Firebase 数据库中的图像显示在 ImageView 中。

这是我当前的代码,它不起作用:

mUsersDB_photoUrl.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String photoUrl = dataSnapshot.child("photoUrl").getValue(String.class);
            try {
                Picasso.with(DisplayActivity.this).load(photoUrl).placeholder(R.mipmap.ic_launcher).into(Photo);
            } catch (Exception e) {
                e.printStackTrace();
            }

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

调用用户名的方法有效:

mUsersDB_name.addValueEventListener(new ValueEventListener() {
        @Override

        public void onDataChange(DataSnapshot dataSnapshot) {
            Name.setText(dataSnapshot.getValue(String.class));

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

我在这方面并不擅长,我正在自学 Firebase。欢迎指点和指导。

最佳答案

您使用的是Picasso,所以我建议您在获取图像时使用getDownloadUrl()。

StorageReference storageRef = storage.getReference().child("profiles").child(myAccount.getUID()).child("profile");//reach out to your photo file hierarchically
        storageRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
            @Override
            public void onSuccess(Uri uri) {
                Log.d("URI", uri.toString()); //check path is correct or not ?
               Picasso.with(DisplayActivity.this).load(uri.toString()).into(imageView);
            }
        }).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
    // Handle errors
}
});

关于java - 在 imageview 中显示来自 firebase 数据库的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45974608/

相关文章:

java - 尝试使用Java -cp 实现entityManagerFactory 时获取 "Class extends type annotation appeared on a non class target"

ios - 数组更改时 SwiftUI 列表不更新

ios - 关于动态链接的行为

ios - Firestore collectionGroup 查询返回空结果

java - 数组改组不起作用

java - 用于解析输入的代码会抛出 InputMismatchException

java - 如何升级 javascript 以使用phonegap 2.3 自定义插件?

android - Mono.Zeroconf NuGet 包不会安装在 Xamarin 中

android - android 中支持的最大 Activity 数?

android - 无法将 minizip 代码加载到 Android JNI 中。链接 libminizip.so 失败