其中Android的图片库,用于在线照片装 [英] Which Android image library for online photo loading

查看:102
本文介绍了其中Android的图片库,用于在线照片装的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想让它加载图片网址从我的网站(在JSONArray返回),然后在GridView显示图像的应用程序(照片也是在网上,所以需要加载)。

I want to make an application which loads image urls from my site (returned in a JSONArray) and then display the images in a gridview (the photos are also online, so needs to be loaded).

现在的问题是,我很困惑哪个库更易于使用,并具有更好的性能?

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

Android的查询或Android通用图像装载机(UIL)?

Android Query or Android Universal Image Loader (UIL) ?

推荐答案

<一个href="https://www.google.com/url?sa=t&source=web&rct=j&ei=6rcGU8nyN9SMkAeFy4GIBw&url=https://github.com/nostra13/Android-Universal-Image-Loader&cd=1&ved=0CCUQFjAA&usg=AFQjCNGgmKC8hBtbywLST53tMmNnUAuNQA&sig2=5GhdR9IPi61oAxgws9Cn1Q"相对=nofollow> Android的通用图像装载机的作品就像一个冠军。

Android Universal Image Loader works like a champ.

这是非常容易使用的这里是一个例子

It's very easy to use here is an example

不过,基本上这就是使用它的方式的GridView

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

在预期的进口,你应该:

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.
     }
 });
}

当然你需要的适配器

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;
 }

这篇关于其中Android的图片库,用于在线照片装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆