其中Android的图片库,用于在线照片装 [英] Which Android image library for online photo loading
问题描述
我想让它加载图片网址从我的网站(在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屋!