2017-09-14 9 views
2

Je sais qu'il y a beaucoup de questions concernant le même problème et j'ai essayé de nombreuses solutions comme this mais je reçois toujours la chaîne vide. ici est mon codebitmap return null lors de la conversion de l'URL en bitmap

try { 
     URL url = new URL(myUrl); 
     InputStream in = url.openConnection().getInputStream(); 
     BufferedInputStream bis = new BufferedInputStream(in,1024*8); 
     ByteArrayOutputStream out = new ByteArrayOutputStream(); 

     int len=0; 
     byte[] buffer = new byte[1024]; 
     while((len = bis.read(buffer)) != -1) { 
      out.write(buffer, 0, len); 
     } 
     out.close(); 
     bis.close(); 

     byte[] data = out.toByteArray(); 
     Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length); 

     d = new BitmapDrawable(getResources(), bmp); 

} catch (FileNotFoundException e) { 
     d = getResources().getDrawable(R.mipmap.background); 
} catch (MalformedURLException e) { 
     e.printStackTrace(); 
} catch (IOException e) { 
     e.printStackTrace(); 
} 

myurl est URL de stockage firebase

+0

Une raison de ne pas utiliser quelque chose comme picasso (http://square.github.io/picasso/)? –

+0

piccaso et glide sont utilisés pour setimage dans imageView mais je ne veux que drawable à partir de l'URL –

+0

Vous pouvez obtenir bitmap à partir de Picasso et convertir en –

Répondre

1

Ajouter Picassso libarary dans votre fichier gradle

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

Than image télécharger en utilisant picasso comme ceci:

Picasso.with(this) 
.load(myUrl) 
.into(new Target() { 
     @Override 
     public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 

       //Convert your drawable here 
       d = new BitmapDrawable(getResources(), bitmap); 

     } 

     @Override 
     public void onBitmapFailed(Drawable errorDrawable) { 

     } 

     @Override 
     public void onPrepareLoad(Drawable placeHolderDrawable) { 

     } 
}); 
+0

toujours obtenir "" chaîne vide dans bitmap –

+0

Comment vous êtes censé obtenir Chaîne vide dans l'objet bitmap ... Avez-vous gardé l'autorisation INTERNET –

+0

Oui j'ai donné l'autorisation d'internet, je reçois l'URL d'Internet j'ai vérifié son ne pas retourner null mais quand je reçois drawable de cette URL il me donne la chaîne vide –