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

Tính năng tìm kiếm AI của Google có mặt tại Việt Nam

Tính năng tìm kiếm AI của Google có mặt tại Việt Nam

Tuần này, Google AI Overviews bắt đầu triển khai đến hơn 100 quốc gia, bao gồm Việt Nam và hỗ […]

Apple trình làng bộ tính năng AI đầu tiên trên iPhone, iPad và Mac cao cấp

Apple trình làng bộ tính năng AI đầu tiên trên iPhone, iPad và Mac cao cấp

Giám đốc điều hành Apple Tim Cook chia sẻ Apple Intelligence không chỉ đơn thuần là AI tạo sinh, mà […]

Apple phát hành iOS 18.1 đưa Apple Intelligence lên iPhone

Apple phát hành iOS 18.1 đưa Apple Intelligence lên iPhone

Bản cập nhật iOS 18.1 được Apple phát hành ngày 28/10, đưa một số tính năng AI của Apple Intelligence […]

Apple sắp phát hành iOS 18.1

Apple sắp phát hành iOS 18.1

Dự kiến, iOS 18.1 sẽ chính thức được phát hành cho các mẫu iPhone tương thích vào tuần tới. Hiện, […]

Xuất hiện thêm lỗi nghiêm trọng trên iPhone 16

Xuất hiện thêm lỗi nghiêm trọng trên iPhone 16

Một số người dùng vừa nâng cấp lên iPhone 16 phản ánh rằng thiết bị của họ gặp phải tình […]

© 2021 Tạp Chí CNTT. Mr Hoang