我试图显示Firebase存储中的图像。因此,我将图像上传到Firebase存储器中,并将链接保存到Firebase实时数据库中。当我尝试使用Picasso Library(v 2.71828)对其进行检索时,它无法正常工作,但根据代码,每次任务都成功完成了。回顾Firebase Storage,图片已成功上传,并且图像链接已成功存储到Firebase实时数据库中。
我在Glide Library上尝试了相同的代码,但是遇到了同样的问题。
预期:使用毕加索显示图像 得到:没有错误,也没有图像显示
private void retrieveUserInfo()
{
rootRef
.child("Users").child(currentUserID)
.addValueEventListener(new ValueEventListener()
{
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
{
// if the user has created his profile then
if((dataSnapshot.exists()) && (dataSnapshot.hasChild("name") && (dataSnapshot.hasChild(("image")))))
{
String retrieveUserName = dataSnapshot.child("name").getValue().toString();
String retrieveUserStatus = dataSnapshot.child("status").getValue().toString();
String retrieveProfileImage = dataSnapshot.child("image").getValue().toString();
userName.setText(retrieveUserName);
userStatus.setText(retrieveUserStatus);
// using picasso library we will display the profile image
Picasso.get().load(retrieveProfileImage).into(userProfileImage);
}
// if the user don't wanna display image
else if((dataSnapshot.exists()) && (dataSnapshot.hasChild("name")))
{
String retrieveUserName = dataSnapshot.child("name").getValue().toString();
String retrieveUserStatus = dataSnapshot.child("status").getValue().toString();
userName.setText(retrieveUserName);
userStatus.setText(retrieveUserStatus);
}
else
{
//userName.setVisibility(View.VISIBLE);
Toast.makeText(SettingsActivity.this, "Please set and update your profile information...", Toast.LENGTH_LONG).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError)
{
}
});
}
答案 0 :(得分:0)
您是否已授予互联网许可?
您应该在清单中包含它。
<uses-permission android:name="android.permission.INTERNET" />
答案 1 :(得分:0)
我想您没有从实时数据库正确接收URL。 我会尝试先打印该URL,以确保您正确接收它。