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

iPhone 16 Pro Max lộ giá bán

iPhone 16 Pro Max lộ giá bán

Dự kiến giá của iPhone 16 Pro Max sẽ tăng thêm 100 USD (khoảng 2,5 triệu đồng) với bất kỳ […]

Người dùng sắp được chuyển ảnh dễ dàng từ Google Photos sang Apple iCloud

Người dùng sắp được chuyển ảnh dễ dàng từ Google Photos sang Apple iCloud

Trong một phần của sáng kiến Chuyển tải Dữ liệu (Data Transfer Initiative – DTI), người dùng sẽ có thể […]

iOS 18 giúp ‘Trung tâm điều khiển’ trên iPhone đổi mới hoàn toàn

iOS 18 giúp ‘Trung tâm điều khiển’ trên iPhone đổi mới hoàn toàn

Apple sẽ thiết kế lại hoàn toàn khu vực Trung tâm điều khiển trên iPhone trong bản cập nhật iOS […]

iPhone 16 Pro sẽ sử dụng màn hình ‘xịn nhất’ của Samsung

iPhone 16 Pro sẽ sử dụng màn hình ‘xịn nhất’ của Samsung

iPhone 16 Pro và 16 Pro Max được dự đoán là những mẫu điện thoại đầu tiên trang bị tấm […]

Cách đọc tin nhắn trên Zalo mà người gửi không biết

Cách đọc tin nhắn trên Zalo mà người gửi không biết

Nếu là người thường xuyên sử dụng Zalo để nhắn tin hay gọi điện, nhưng lại muốn “ẩn danh” và […]

© 2021 Tạp Chí CNTT. Mr Hoang