android amazon-s3 picasso

android - Cómo cargar una imagen desde aws con picasso con acceso privado



amazon-s3 (3)

Simplemente usa esto:

Picasso.with(getApplicationContext()).load(your_url).noFade().into(imageView);

Estoy intentando cargar la imagen almacenada en aws S3 en mi aplicación de Android usando Picasso, pero obtengo una imagen en blanco sin errores en mi logcat y nada de depuración general en torno a las líneas de código relevantes. Estamos teniendo acceso privado a las imágenes para que la imagen url no funcione en el navegador. Necesito mostrar la imagen en mi aplicación de Android usando Picasso. pero no funciona.

Mi fragmento de código a continuación

new Picasso.Builder(getApplicationContext()).downloader(new S3Downloader(getApplicationContext(), s3Client, bucket)) .build() .load("https://s3-ea-east-8.amazonaws.com/music/MusicApp_3.jpg") .placeholder(R.drawable.img_placeholder) .memoryPolicy(MemoryPolicy.NO_CACHE) .networkPolicy(NetworkPolicy.NO_CACHE) .into(imageView);

Al usar el código de arriba, la imagen se muestra solo la primera vez después de instalar la aplicación. la próxima vez solo muestra la imagen de marcador de posición

Estoy usando esta biblioteca para mostrar imágenes.

El problema no está en Picasso, sino en cargar una imagen desde una url "privada".

por favor sugiera soluciones


write below code to load image in Picasso. variables:- String file_path -->> this is your image file path Imageview mViewHolder.img_post_photo -->> this is your imageview to load image.

Picasso.with(context) .load(file_path) .placeholder(R.mipmap.ic_launcher) .error(R.mipmap.ic_launcher) .into(mViewHolder.img_post_photo, new Callback() { @Override public void onSuccess() { } @Override public void onError() { Picasso.with(context) .load(file_path) .placeholder(R.mipmap.ic_launcher) .error(R.mipmap.ic_launcher) .into(mViewHolder.img_post_photo); } });

Set dependencies in your app build.gradle file:- compile ''com.squareup.picasso:picasso:2.5.2'' hope this code helps you.


Necesita generar un Url prescrito desde el cliente S3 y puede pasar esa url a picasso. Esa url será pública y tendrá una fecha de expriy.