Thursday, December 14, 2017

Android Image Loader Library: Picasso

Salah satu library untuk pemuatan dan pemrosesan gambar yang sering digunakan adalah Picasso. Library ini dibuat dan dikelolah oleh Square. Picasso memudahkan untuk menampilkan gambar external baik berupa file ataupun gambar dari internet. Picasso menangani setiap prosesnya, mulai dari HTTP Request hingga caching dan masih banyak lagi fitur-fitur yang disediakan oleh Picasso.  Untuk mengimplementasikan tanpa libary butuh waktu dan code yang banyak. Kita lihat bagaimana penggunaan Picasso untuk kasus-kasus umum.

Installasi
Cukup tambahkan pada build.gradle project
 compile 'com.squareup.picasso:picasso:2.5.2'
untuk update versi terbaru dari Picasso bisa dilihat disini

Penggunaan
Buat layout untuk ImageView, contoh:
1:  <ImageView  
2:      android:id="@+id/imageView"   
3:      android:layout_width="wrap_content"  
4:      android:layout_height="wrap_content" />  

Pada Activity class tambahkan code berikut
1:      ImageView imageView = (ImageView) findViewById(R.id.imageView);  
2:      Picasso.with(this)  
3:          .load("http://just-example-url.cm/example/example.jpg")  
4:          .into(imageView);  

Pertama, ambil reference dari ImageView yang telah kita buat, lalu pass context dengan .with kemudian panggil .load dan berikan lokasi gambar yang ingin kita tampilkan (jika berupa url dari internet, jangan lupa tambahkan permission internet pada manifest). Terakhir beritahu Picasso untuk menampilkan gambar (pada contoh ini gambar ditampilkan pada imageView yang telah dibuat).

Fitur Lain
Contoh beberapa fitur yang disediakan oleh Picasso:
1. Mengubah size dari gambar sebelum ditampilkan
1:  ImageView imageView = (ImageView) findViewById(R.id.imageView);   
2:  Picasso.with(this)   
3:         .load("http://just-example-url.cm/example/example.jpg")   
4:         .resize(100, 100);  
5:         .into(imageView);   

2. Melakukan rotate dari gambar
1:  ImageView imageView = (ImageView) findViewById(R.id.imageView);   
2:  Picasso.with(this)   
3:         .load("http://just-example-url.cm/example/example.jpg")   
4:         .rotate(90);  
5:         .into(imageView);   

3. Menambahkan placeholder
1:  ImageView imageView = (ImageView) findViewById(R.id.imageView);   
2:  Picasso.with(this)   
3:         .load("http://just-example-url.cm/example/example.jpg")   
4:         .placeholder(R.drawable.image_name)  
5:         .into(imageView);   


4. Menampilkan error jika Picasso gagal menampilkan gambar dari url yang diberikan
1:  ImageView imageView = (ImageView) findViewById(R.id.imageView);   
2:  Picasso.with(this)   
3:         .load("http://just-example-url.cm/example/example.jpg")   
4:         .error(R.drawable.error_image_name)  
5:         .into(imageView);   

penggunaan fitur-fitur diatas juga bisa digabungkan dan masih banyak lg fitur-fitur lainnya yg belum disebutkan.
Kesimpulannya, Picasso akan sangat membantu jika aplikasi Android yang anda buat banyak berkaitan dengan gambar :)

Semoga membantu. Terima kasih

Reference:
http://square.github.io/picasso/

No comments:

Post a Comment