您的位置:首页 > 其它

Communication

2016-07-18 19:17 211 查看
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;
}


}

””’
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: