/ / come ottenere l'URL caricato dalla libreria Picasso - Android, Picasso

come ottenere l'URL caricato dalla libreria Picasso - Android, Picasso

Sto usando la libreria Picasso per impostare il marker con l'immagine su google map api. Ma ho bisogno di essere caricato drawable che viene caricato da Picasso.

Ho provato questo ma non ha restituito l'url che è stato caricato da Picasso

Target target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {

}

@Override
public void onBitmapFailed(Drawable errorDrawable) {}

@Override


public void onPrepareLoad(Drawable placeHolderDrawable) {}
};

risposte:

2 per risposta № 1

Non è possibile ottenere l'URL da Picasso dopo il drawable è stato caricato (Picasso.LoadedFrom ti dirà solo se l'immagine è stata caricata da DISCO, MEMORIA o RETE).

Ma dal momento che devi specificare l'URL quando comunichi a Picasso di farlo .caricare() l'immagine, puoi semplicemente memorizzare l'URL da qualche parte e usarlo in seguito.

Se il tuo obiettivo è di caricare un'icona marcatore personalizzata da un URL remoto in un indicatore di Google Maps, ecco come farlo utilizzando un ImageView ad-hoc:

private void loadImageFromUrlIntoMarker(final String url, final Marker marker) {
final ImageView iv = new ImageView(context);
Picasso.with(context).load(url).into(iv, new Callback() {
@Override
public void onSuccess() {
Bitmap bm = ((BitmapDrawable) iv.getDrawable()).getBitmap();
try {
marker.setIcon(BitmapDescriptorFactory.fromBitmap(bm));
} catch (Exception e) {
Log.e(getClass().getSimpleName(), "Could not load image into marker.");
}
}

@Override
public void onError() {
Log.e(getClass().getSimpleName(), "Could not load image from " + url);
}
});
}

Il try { ... } catch { ... } è importante, in quanto il marcatore potrebbe non essere valido quando il drawable diventa disponibile.


1 per risposta № 2

uso di base di Picasso

    Picasso.with(context).load(my_url).into(my_view);

e importa la libreria usando gradle

 compile "com.squareup.picasso:picasso:2.5.2"

1 per risposta № 3

Non so perché stai facendo questa domanda perché hai bisogno di un url per caricare l'immagine con Picasso . Puoi creare una funzione sostanzialmente come:

public void loadimage(final String loadingUrl){
Picasso.with(getApplicationContext()).load(loadingUrl).into(yourimageview, new Callback() {
@Override
public void onSuccess() {
Log.v("picasso","i successfully created image, here is url : "+loadingUrl);
}

@Override
public void onError() {

}
});
}