Sau đây tôi sẽ hướng dẫn các bạn sử dụng thư viện Picasso để load ảnh từ internet trong lập trình android. Picasso là một thư viện mã nguồn mở được sử dụng rộng rãi trong android. Nó được tạo ra bởi Square. Picasso là một trong những thư viện mạnh mẽ nhất trong việc download và cache ảnh cho android.

Tạo sao phải sử dụng Picasso

Nó đơn giản hoá quá trình tải hình ảnh từ url bên ngoài và hiển thị trên ứng dụng của bạn. Ví dụ, tải hình ảnh từ máy chủ, là một trong những nhiệm vụ phổ biến nhất trong bất kỳ ứng dụng. Và nó cần khá nhiều dòng code phức tạp để làm được điều này. Bằng cách sử dụng Picasso, bạn có thể đạt được điều này với vài dòng mã.

Nó không phải liên tục tải lại hình ảnh từ internet. Picasso cung cấp một bộ nhớ đệm để lưu cache những hình ảnh đã tải trước đó, điều này giúp tăng trải nghiệm người dùng hơn

Sử dụng thư viện Picasso:

Đầu tiên các bạn tải file JAR thư viện Picasso nếu bạn chưa có nó. Nếu bạn đang sử dụng Eclipse là IDE thì bạn cần phải sao chép tập tin picasso-2.x.x.jar vào thư mục lib trong ứng dụng của bạn. Nếu bạn đang sử dụng Android studio bạn chỉ việc import thư hiện Picasso vào tập tin build.gradle của Module:app

compile 'com.squareup.picasso:picasso:2.5.2'

Load hình ảnh từ URL vào ImageView

Sau đây là một ví dụ trong việc sử dụng thư viện Picasso để load hình ảnh từ URL và gán cho ImageView

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true">
</ImageView>

Cấp quyền truy cập internet cho ứng dụng

<uses-permission android:name="android.permission.INTERNET" />

Bây giờ tiến hành load hình ảnh và gán cho ImageView

//Initialize ImageView
ImageView imageView = (ImageView) findViewById(R.id.imageView);
//Loading image from below url into imageView
Picasso.with(this)
   .load("Dán link hình ảnh vào đây")
   .into(imageView);

Placeholder và Error Fallback

Trong đoạn code trên, chúng ta chỉ cần tải hình ảnh về và hiển thị lên ImageView. Nhưng điều đó là không đủ. Đối với bất kỳ ứng dụng thời gian thực nào bạn phải suy nghĩ tất cả các trường hợp có thể xảy ra. Bây giờ chúng ta cần phải có Placeholder và Error Fallback.

Hình ảnh cho Placeholder sẽ hiển thị trước khi hình ảnh được tải.
Hình ảnh Error Fallback sẽ được hiển thị nếu có lỗi trong quá trình tải ảnh.

Picasso.with(this)
    .load("YOUR IMAGE URL HERE")
    .placeholder(R.drawable.ic_placeholder) // optional
    .error(R.drawable.ic_error_fallback)         // optional
    .into(imageView);

Chúc các bạn thành công!

Recent posts

Hàng siêu cao cấp, iPhone gập sẽ có giá cao ngất ngưởng

Hàng siêu cao cấp, iPhone gập sẽ có giá cao ngất ngưởng

iPhone Fold – chiếc iPhone gập được đồn đại từ lâu của Apple – có thể sẽ là một sản […]

Người dùng iPhone cần cập nhật ngay iOS 18.4.1 vì lý do bảo mật nghiêm trọng

Người dùng iPhone cần cập nhật ngay iOS 18.4.1 vì lý do bảo mật nghiêm trọng

Apple cho biết các lỗ hổng bảo mật này có khả năng đã được sử dụng trong một cuộc tấn […]

[Thủ thuật] Xóa menu “WordPress” khỏi thanh quản trị

[Thủ thuật] Xóa menu “WordPress” khỏi thanh quản trị

Bạn muốn xóa menu “WordPress” (thường có biểu tượng chữ W) khỏi thanh quản trị (wp-admin bar) và các mục […]

POCO M7 Pro mẫu smartphone 5G giá siêu rẻ của Xiaomi

POCO M7 Pro mẫu smartphone 5G giá siêu rẻ của Xiaomi

POCO M7 Pro là mẫu smartphone 5G giá siêu rẻ của Xiaomi, chỉ hơn 4 triệu đồng nhưng vẫn được […]

Hóa ra “đường link màu tím” trên Chrome không chỉ là tính năng, nó còn là lỗ hổng bảo mật 16 năm tuổi

Hóa ra “đường link màu tím” trên Chrome không chỉ là tính năng, nó còn là lỗ hổng bảo mật 16 năm tuổi

Chỉ mới đây thôi, Google phát hành bản vá cho một lỗ hổng nghiêm trọng trong trình duyệt Chrome đã […]

© 2021 Tạp Chí CNTT. Mr Hoang