Introducción
Esta es una Liberia extraordinaria que te va a simplificar mucho nuestro código y agilizar los tiempos a la hora de implementar imágenes a nuestro proyecto móvil en Android ya sea imágenes locales o remotas.
Esta librería de mucha utilidad fue desarrollada por la empresa Square quien también se le conoce por crear un librería conocida como Butter Knife.
Veamos su sintaxis.
Picasso.get().load("http://i.imgur.com/DvpvklR.png").into(imageView);
Características de Picasso
- Manejo del recycling de ImageView y cancelación de descargas en un adaptador.
- Transformaciones de imágenes complejas con un uso mínimo de memoria.
- Memoria automática y almacenamiento en caché.
Agregar la librería a nuestro Proyecto
Agregar en el archivo build.gradle de nuestro modulo del proyecto.
implementation 'com.squareup.picasso:picasso:2.71828'
Descargas Adapter
La reutilización del adaptador se detecta automáticamente y se cancela la descarga anterior.
@Override
public void getView(int position, View convertView, ViewGroup parent) {
SquaredImageView view = (SquaredImageView) convertView;
if (view == null) {
view = new SquaredImageView(context);
}
String url = getItem(position);
Picasso.get().load(url).into(view);
}
Transformaciones de Imágenes
Transforme las imágenes para adaptarse mejor a los diseños y para reducir el tamaño de la memoria.
Picasso.get()
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
Cargas de diferentes Recursos
Los recursos, assets, archivos, proveedores de contenido son compatibles diferentes fuentes de imágenes.
Veamos el código.
Picasso.get().load(R.drawable.landing_screen).into(imageView1);
Picasso.get().load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.get().load(new File(...)).into(imageView3);
Veamos un Ejemplo
Vamos a cargar una imagen del directorio de recursos de Assets usando esta librería Picasso.
package com.xenosbit.testingmovil;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;
public class MainActivity extends AppCompatActivity {
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imagen);
Picasso.get().load("file:///android_asset/ic_launcher.png");
}
}
Como vimos en el articulo, lo fácil que es usar esta librería para simplificar muchas lineas de código y aumentar nuestra productividad.
nota
1 Pingback