使用毕加索显示图像无法正常工作

时间:2019-08-05 07:45:16

标签: android firebase android-studio firebase-storage picasso

我试图显示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) 
    {

    }
});

}

2 个答案:

答案 0 :(得分:0)

您是否已授予互联网许可?

您应该在清单中包含它。

<uses-permission android:name="android.permission.INTERNET" /> 

答案 1 :(得分:0)

我想您没有从实时数据库正确接收URL。 我会尝试先打印该URL,以确保您正确接收它。