J'essaie de charger une image d'une URL vers une image bitmap mais j'obtiens une erreur NetworkOnMainThreadException mais je ne sais pas pourquoi.Convertir une URL en résultats Bitmap dans une erreur réseau dans Android
C'est la méthode que je me sers:
public Bitmap getBitmapFromURL(String src) {
try {
java.net.URL url = new java.net.URL(src);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
J'ai aussi essayé de charger l'image à une cible en utilisant la bibliothèque Picasso, parce qu'à la fin, je veux obtenir la couleur dominante de cette image en utilisant la palette . Voici le code que j'ai en utilisant Picasso:
Picasso.with(MovieDetails.this)
.load("https://image.tmdb.org/t/p/w500" + backdrop)
.into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
Palette palette = Palette.from(bitmap).generate();
System.out.println(palette.getVibrantSwatch().toString().substring(16, Math.min(palette.getVibrantSwatch().toString().length(), 22)));
LinearLayout lLayout = (LinearLayout) findViewById(R.id.layout_bg);
lLayout.setBackgroundColor(Color.parseColor("#"+ palette.getVibrantSwatch().toString().substring(16, Math.min(palette.getVibrantSwatch().toString().length(), 22))));
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
Je mets cela à l'intérieur de ma méthode onCreate, mais je reçois « méthode ne remplace pas la méthode de sa superclasse » erreurs dans toutes les trois méthodes @Override.
Merci pour la réponse. Comment dois-je gérer le fil? J'ai créé le 'nouveau fil', 'run()', 'try' et à l'intérieur 'while (true)' j'ai: 'sleep (1000);' «handler.post (this)». Comment dois-je mettre à l'intérieur du fil? Et qu'est-ce que je fais avec les autres méthodes qui dépendent du résultat de cette méthode? –