What image library for online downloads for Android

I want to create an application that downloads the image URLs from my site (returns to JSONArray) and then displays the images in a gridview (the photos are also online, so they need to be downloaded).

The problem is that I'm confused, which library is easier to use and has better performance?

Android Query or Android Universal Image Loader (UIL)?

+3
source share
5 answers

Android Universal Image Loader works like a champion.

Very easy to use here - example

But basically, this is a way to use it with GridView:

After the expected importsyou should:

protected AbsListView list;

protected ImageLoader loader = ImageLoader.getInstance();

private String query;

final Context context = this;

private ItemAdapter adapter;

private DisplayImageOptions op;

@Override
 public void onCreate(Bundle savedInstanceState) {

 op = new DisplayImageOptions.Builder()
         .displayer(new RoundedBitmapDisplayer(20))
         .build();

 list = (GridView) findViewById(R.id.gridViewSearch);
 adapter = new ItemAdapter(images);
 list.setAdapter(adapter);
 list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

     @Override
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
       // Do whatever you need to do after clicking an image.
     }
 });
}

, , adapter:

class ItemAdapter extends BaseAdapter {

 private String[] imagesA;

 public ItemAdapter(String [] Images){
     this.imagesA = Images;
 }

 public void setData(String [] Images){
     this.imagesA = Images;
 }

 private class ViewHolder {
     public ImageView image;
 }

 @Override
 public int getCount() {
     return imagesA.length;
 }

 @Override
 public Object getItem(int position) {
     return position;
 }

 @Override
 public long getItemId(int position) {
     return position;
 }

 @Override
 public View getView(final int position, View convertView, ViewGroup parent) {
     View v = convertView;
     v = getLayoutInflater().inflate(R.layout.image_in_gridview_layout, parent, false);
     final ProgressBar spinner = (ProgressBar) v.findViewById(R.id.loading);
     final ViewHolder holder = new ViewHolder();
     holder.image = (ImageView) v.findViewById(R.id.grid_item_image);
     v.setTag(holder);

     loader.displayImage(imagesA[position], holder.image, op, new SimpleImageLoadingListener() {
         @Override
         public void onLoadingStarted(String imageUri, View view) {
             spinner.setVisibility(View.VISIBLE);
         }

         @Override
         public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
             spinner.setVisibility(View.GONE);
         }

         @Override
         public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
             spinner.setVisibility(View.GONE);
         }
     });

     return v;
 }
+1

Android . , tuto.

AQuery; jquery, Android? , , . ; - . Nexus 4 , , HTC G1. , tuto.

:

Picasso API . API currying / . . 3g wifi. , - okhttp- tuto.

UrlImageViewHelper + AndroidAsync . , , API .

Volley - ; backend-, , AndroidAsync. , Google I/O 2013, tuto.

Volley Picasso

+4

Picasso (By Square) : http://square.imtqy.com/picasso/

.

+2

: - !

?

Universal ImageLoader 1.9.0 (UIL), , ListView OnScrollListener, 10 , , UIL, FAST- , 50 . , UIL ( , ), AQuery (, ) UrlImageViewHelper (, drawable placeholder "No Network Connection" ), Picasso ( , , ):)

NOSTRA13 ( UIL) -:

:
Android HTC Desire X Wi-Fi-.

EDIT:
, : UIL !:)
UIL , , - , , :
ListView UniversalImageDownloader
PauseOnScrollListener , !
: UIL - 1!

+2

All Articles