2017-09-21 6 views
0

je veux obtenir l'image bitmap de l'URL, puis vouloir le convertir en tableau byte pour le stocker dans sqlite, j'utilise le vol plané pour obtenir le bitmap url voici mon codeobtenir l'erreur avec Glide assert: java.lang.IllegalArgumentException: Vous devez appeler cette méthode sur le thread principal

Bitmap temp = null; 
    Bitmap temp2 = null; 
    try { 
     temp = Glide.with(this) 
       .load(urlNavHeaderBg) 
       .asBitmap() 
       .into(-1, -1) 
       .get(); 

     temp2 = Glide.with(this) 
       .load(profile_pic_url) 
       .asBitmap() 
       .into(-1, -1) 
       .get(); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } catch (ExecutionException e) { 
     e.printStackTrace(); 
    } 

si quelqu'un ayant une meilleure idée d'obtenir bitmap et le convertir en tableau d'octets alors ne hésitez pas à suggérer

Répondre

0

Essayez cette place

Glide.with(this) 
     .load(urlNavHeaderBg) 
     .asBitmap() 
     .placeholder(R.drawable.place_holder_image) 
     .error(R.drawable.place_holder_image) 
     .into(new SimpleTarget<Bitmap>() { 
      @Override 
     public void onResourceReady(final Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { 
       Bitmap bimtapImage=resource; 
      //Convert this bimtapImage to byte array 
      } 
     @Override 
     public void onLoadFailed(Exception e, Drawable errorDrawable) { 
      super.onLoadFailed(e, errorDrawable); 
     } 
    }); 
+0

comment puis-je obtenir image bitmap de cette image comme je veux le convertir en bytearray –

+0

ressource bitmap à l'intérieur de onResourceReady vous donne l'image en bitmap seulement – Anonymous

+0

donc dans la méthode onResourceReady je crée une variable bitmap et lui assigner objet ressource Bitmap? –