Android Can';t在firebase的图像视图中显示图像
我正在开发android应用程序,我想从firebase获取一个图像,并将其显示到Imageview中。我的代码工作正常,但该图像无法在虚拟或真实设备上显示。 我试图显示一个简单的图像,但它也不能显示任何内容,所以我尝试将其设置为背景图像,它可以正常工作。所以我不知道到底是什么问题 My Mainactivity.java: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
@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是否在浏览器中打开!