Android Can';t在firebase的图像视图中显示图像

Android Can';t在firebase的图像视图中显示图像,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在开发android应用程序,我想从firebase获取一个图像,并将其显示到Imageview中。我的代码工作正常,但该图像无法在虚拟或真实设备上显示。 我试图显示一个简单的图像,但它也不能显示任何内容,所以我尝试将其设置为背景图像,它可以正常工作。所以我不知道到底是什么问题 My Mainactivity.java: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav

我正在开发android应用程序,我想从firebase获取一个图像,并将其显示到Imageview中。我的代码工作正常,但该图像无法在虚拟或真实设备上显示。 我试图显示一个简单的图像,但它也不能显示任何内容,所以我尝试将其设置为背景图像,它可以正常工作。所以我不知道到底是什么问题

My Mainactivity.java:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_notificationdisplay);
    FirebaseApp.initializeApp(this);
    final TextView title = (TextView)findViewById(R.id.title);
    final TextView text = (TextView)findViewById(R.id.t);
    //--------------------String text1="";
   FirebaseDatabase.getInstance().getReference().child("notification").child("text").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            Log.v("text:",dataSnapshot.getValue().toString());
            text.setText(dataSnapshot.getValue(String.class));
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
    //-----------------title
    FirebaseDatabase.getInstance().getReference().child("notification").child("title").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            Log.v("title:",dataSnapshot.getValue().toString());
            title.setText(dataSnapshot.getValue(String.class));

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }

    });
    //-----------------Image
    ImageView image = (ImageView)findViewById(R.id.imageView);

    String url = "gs://my-map-1552492593540.appspot.com/ala.png";
    Glide.with(getApplicationContext()).load(url).into(image);


}
xml文件包含:

    </TextView>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="15dp"
    android:text="This is my title field"
    android:id="@+id/title"
    android:gravity="center"
    android:layout_gravity="center"
    android:textAlignment="center"


您正在使用Firebase的存储位置,它将无法工作 您必须使用下载URL,如下图所示,并突出显示


您正在使用Firebase的存储位置,它将无法工作 您必须使用下载URL,如下图所示,并突出显示


gs://my-map-1552492593540.appspot.com/ala.png
是对谷歌云存储上文件的引用。但Glide无法识别此URL格式,因此无法显示图像

要在Glide中显示图像,您需要查看图像的外观

比如:

String url = "gs://my-map-1552492593540.appspot.com/ala.png";

FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference ref = storage.getReferenceFromUrl(url);

storageRef.child("users/me/profile.png").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
    @Override
    public void onSuccess(Uri uri) {
        Glide.with(getApplicationContext()).load(uri.toString).into(image);
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
});
String url=“gs://my-map-1552492593540.appspot.com/ala.png”;
FirebaseStorage=FirebaseStorage.getInstance();
StorageReference ref=storage.getReferenceFromUrl(url);
storageRef.child(“users/me/profile.png”).getDownloadUrl().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
Glide.with(getApplicationContext()).load(uri.toString).into(image);
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
//处理任何错误
}
});

gs://my-map-1552492593540.appspot.com/ala.png是对谷歌云存储上文件的引用。但Glide无法识别此URL格式,因此无法显示图像

要在Glide中显示图像,您需要查看图像的外观

比如:

String url = "gs://my-map-1552492593540.appspot.com/ala.png";

FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference ref = storage.getReferenceFromUrl(url);

storageRef.child("users/me/profile.png").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
    @Override
    public void onSuccess(Uri uri) {
        Glide.with(getApplicationContext()).load(uri.toString).into(image);
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
});
String url=“gs://my-map-1552492593540.appspot.com/ala.png”;
FirebaseStorage=FirebaseStorage.getInstance();
StorageReference ref=storage.getReferenceFromUrl(url);
storageRef.child(“users/me/profile.png”).getDownloadUrl().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
Glide.with(getApplicationContext()).load(uri.toString).into(image);
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
//处理任何错误
}
});

之所以发生这种情况,是因为您尝试加载的图像url实际上不是url,而是firebase数据库的某个引用字符串!检查您的图像url是否在浏览器中打开!这是因为您尝试加载的图像url实际上不是url,而是firebase数据库的某个引用字符串!检查您的图像url是否在浏览器中打开!