无法获取位图从谷歌个人资料图片url

问题描述:

我有一个应用程序,我试图从我通过谷歌整合获得的链接检索图像。但是,每当我尝试将图片转化为位图时,它总会给我一个错误。代码和错误是下面:无法获取位图从谷歌个人资料图片url

代码:

if (google_user_gallery_pic.isEmpty() == true) 
{ 
    if (google_user_pic.isEmpty() == false) 
    { 
     onPost = null; 
     onPost2 = null; 
     onPost = getBitmapFromURL(google_user_pic); 
     onPost2 = onPost2.createScaledBitmap(onPost, 100, 100, false); 
    } 

    else 
    { 
     onPost = null; 
     onPost2 = null; 
     onPost = BitmapFactory.decodeFile(google_user_gallery_pic); 
     if (onPost == null) 
     { 
      onPost2 = BitmapFactory.decodeResource(getResources(), R.drawable.the_smallperson); 
     } 

     else 
     { 
      onPost2 = onPost2.createScaledBitmap(onPost, 100, 100, false); 
     } 
    } 
} 

else 
{ 
    onPost = null; 
    onPost2 = null; 
    onPost = BitmapFactory.decodeFile(google_user_gallery_pic); 
    if (onPost == null) 
    { 
     onPost2 = BitmapFactory.decodeResource(getResources(), R.drawable.the_smallperson); 
     //onPost2 = onPost2.createScaledBitmap(onPost, 100, 100, false); 
    } 

    else 
    { 
     onPost2 = onPost2.createScaledBitmap(onPost, 100, 100, false); 
    } 
} 

错误:

E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: https:/lh3.googleusercontent.com/-HW5Tk9h1V2I/AAAAAAAAAAI/AAAAAAAADA8/7UbMeHbyFLM/photo.jpg: open failed: ENOENT (No such file or directory) 

的网址:

https://lh3.googleusercontent.com/-HW5Tk9h1V2I/AAAAAAAAAAI/AAAAAAAADA8/7UbMeHbyFLM/photo.jpg 

此网址工作一个页面,但不工作对另一个。这两个页面都是片段活动。任何帮助将不胜感激,谢谢!

+0

为什么不使用毕加索:

private Target mTarget; //declare variable void loadImage(Context context, String url) { final ImageView imageView = (ImageView) findViewById(R.id.image); mTarget = new Target() { @Override public void onBitmapLoaded (final Bitmap bitmap, Picasso.LoadedFrom from){ //Do something on the bitmap imageView.setImageBitmap(bitmap); //set the bitmap } @Override public void onBitmapFailed(Drawable errorDrawable) { } @Override public void onPrepareLoad(Drawable placeHolderDrawable) { } }; Picasso.with(context) .load(url) .into(mTarget); ..error(R.drawable.the_smallperson) // will be displayed if the image cannot be loaded } 
的gradle中添加

? – rafsanahmad007

+0

@ rafsanahmad007 idk如何使用 –

+0

您是否将位图保存在文件中并尝试打开它? – rafsanahmad007

尝试扭转if和else条件是这样的:

if (google_user_gallery_pic.isEmpty() == false) 
{ 
    if (google_user_pic.isEmpty() == false) 
    { 
     onPost = null; 
     onPost2 = null; 
     onPost = getBitmapFromURL(google_user_pic); 
     onPost2 = onPost2.createScaledBitmap(onPost, 100, 100, false); 
    } 

    else 
    { 
     onPost = null; 
     onPost2 = null; 
     onPost = BitmapFactory.decodeFile(google_user_gallery_pic); 
     if (onPost == null) 
     { 
      onPost2 = BitmapFactory.decodeResource(getResources(), R.drawable.the_smallperson); 
     } 

     else 
     { 
      onPost2 = onPost2.createScaledBitmap(onPost, 100, 100, false); 
     } 
    } 
} 

else 
{ 
    onPost = null; 
    onPost2 = null; 
    onPost = BitmapFactory.decodeFile(google_user_gallery_pic); 
    if (onPost == null) 
    { 
     onPost2 = BitmapFactory.decodeResource(getResources(), R.drawable.the_smallperson); 
     //onPost2 = onPost2.createScaledBitmap(onPost, 100, 100, false); 
    } 

    else 
    { 
     onPost2 = onPost2.createScaledBitmap(onPost, 100, 100, false); 
    } 
} 

由于所需的权限和别的,而不是这个代码片断,有什么不对比这个

+0

好吧,让我试试这个兄弟 –

+0

不,对不起兄弟... –

尝试其他使用picasso从URL加载图像位图。

compile 'com.squareup.picasso:picasso:2.5.2' 
+0

好的,什么这是目标吗?这是一堂课吗? –

+0

是的,你需要导入它..在添加gradle后 – rafsanahmad007

+0

我认为逻辑有问题,因为它确实工作了一段时间,当我按照Saim的回答改变条件时... –