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

Mẹo giúp ngưng cuộc gọi đến iPhone một cách lịch sự

Mẹo giúp ngưng cuộc gọi đến iPhone một cách lịch sự

Nếu đã từng gặp phải tình huống muốn bỏ qua cuộc gọi trên iPhone mà không tỏ ra thô lỗ, […]

4 mẫu iPhone 16 series sắp ra mắt có giá bán bao nhiêu?

4 mẫu iPhone 16 series sắp ra mắt có giá bán bao nhiêu?

Với những nâng cấp mới mẻ, liệu giá bán của iPhone 16 series có tăng so với năm ngoái? Mới […]

Giá bán iPhone 16 dự đoán đắt hơn 100 USD so với bản tiền nhiệm

Giá bán iPhone 16 dự đoán đắt hơn 100 USD so với bản tiền nhiệm

Apple không thay đổi kích thước màn hình iPhone hoặc iPhone Pro kể từ dòng iPhone 12. Vì vậy, iPhone […]

Thủ đoạn hack Zalo cần cảnh giác: Nhiều người dùng đã sập bẫy!

Thủ đoạn hack Zalo cần cảnh giác: Nhiều người dùng đã sập bẫy!

Thời gian qua, lực lượng Công an và các cơ quan chức năng đã có nhiều cảnh báo về việc […]

Ứng dụng vừa bị Google gỡ bỏ, người dùng cần xoá ngay kẻo mất sạch tiền trong tài khoản ngân hàng

Ứng dụng vừa bị Google gỡ bỏ, người dùng cần xoá ngay kẻo mất sạch tiền trong tài khoản ngân hàng

Nếu trót tải về ứng dụng, người dùng có thể bị chiếm đoạt tiền trong tài khoản ngân hàng mà […]

© 2021 Tạp Chí CNTT. Mr Hoang