Communication

package com.example.androidvoolley;

import java.io.File;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.nostra13.universalimageloader.utils.StorageUtils;
import android.app.Application;
import android.content.Context;
”’
public class MyApplication extends Application {

 @Override  
    public void onCreate() {  
        super.onCreate();  
        initImageLoader(getApplicationContext());  
    }  

    public static void initImageLoader(Context context) {  
        //缓存文件的目录  
        File cacheDir = StorageUtils.getOwnCacheDirectory(context, "universalimageloader/Cache");   
        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)  
                .memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽   
                .threadPoolSize(3) //线程池内线程的数量  
                .threadPriority(Thread.NORM_PRIORITY - 2)  
                .denyCacheImageMultipleSizesInMemory()  
                .discCacheFileNameGenerator(new Md5FileNameGenerator()) //将保存的时候的URI名称用MD5 加密  
                .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))  
                .memoryCacheSize(2 * 1024 * 1024) // 内存缓存的最大值  
                .discCacheSize(50 * 1024 * 1024)  // SD卡缓存的最大值  
                .tasksProcessingOrder(QueueProcessingType.LIFO)  
                // 由原先的discCache -> diskCache  
                .discCache(new UnlimitedDiscCache(cacheDir))//自定义缓存路径    
                .imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间    
                .writeDebugLogs() // Remove for release app  
                .build();  
        //全局初始化此配置    
        ImageLoader.getInstance().init(config);  
    }  

}
”’

”’

package com.example.androidvoolley;
import java.util.List;

import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.ImageRequest;
import com.android.volley.toolbox.Volley;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
public class TestAdapter extends BaseAdapter {

  private Context context;
  private LayoutInflater layoutinflater;
  private List<String> list;
  private RequestQueue reQue;
  private ViewHolder viewHolder;
  private DisplayImageOptions options;
  public TestAdapter(List<String> list,Context context){
      this.list = list;
      this.context = context;
      reQue = Volley.newRequestQueue(context);
    // 使用DisplayImageOptions.Builder()创建DisplayImageOptions  
        options = new DisplayImageOptions.Builder()  
                .showImageOnFail(R.drawable.ic_launcher) // 设置图片下载期间显示的图片  
                .showImageForEmptyUri(R.drawable.ic_launcher) // 设置图片Uri为空或是错误的时候显示的图片  
                .showImageOnFail(R.drawable.ic_launcher) // 设置图片加载或解码过程中发生错误显示的图片  
                .cacheInMemory(true) // 设置下载的图片是否缓存在内存中  
                .cacheOnDisc(true) // 设置下载的图片是否缓存在SD卡中  
                .displayer(new RoundedBitmapDisplayer(20)) // 设置成圆角图片  
                .build(); // 构建完成  
  }

@Override
public int getCount() {
    System.out.println("list.size()===="+list.size());
    return list.size();

    // TODO Auto-generated method stub return 0;

}

@Override
public Object getItem(int position) {
    return list.get(position);

    // TODO Auto-generated method stub return null;

}

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

    // TODO Auto-generated method stub return 0;

}

@Override
public View getView(int position, View view, ViewGroup arg2) {
    viewHolder = new ViewHolder();

     if(null == view){
        layoutinflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        view = layoutinflater.inflate(R.layout.imci_item, null);
        viewHolder.iv = (ImageView) view.findViewById(R.id.iv_my);

        view.setTag(viewHolder);
     }else{
         viewHolder =  (ViewHolder) view.getTag();
     }
    String urlp = list.get(position);
    ImageLoader.getInstance().displayImage(urlp, viewHolder.iv, options);

    return view;

}

class ViewHolder{
    ImageView iv;
}

}

””’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值