安卓的异步下载(ASYNCHTTPCLIENT以及VOLLEY)

来源:互联网 发布:p2p网络运营招聘 编辑:程序博客网 时间:2024/06/05 17:14

做了一个小案例 从网络上获取图片并加载到viewpager 刚开始使用Asynchttpclient进行数据下载 并且封装了一个类 类里面的一个方法中才是Async的使用 本想着通过封装的这个类的方法的返回值去获得Async的网络请求结果 结果怎么也取不到网络的请求结果 于是便进行调试 过程中发现网络请求确实是请求到了 但是在方法的return的时候 却返回不回去 ,于是才反应过来是线程的原因 后面又查了一下 Async的onsuccess方法是在主线程处理的 对线程只有一定的了解 并没有什么编码经验 所以就放弃了Async

进而研究Volley的使用 ,刚开始打算用for循环 加载imageRequest去取网络图片 一个一个的封装到map中 再将map封装到list中 再将list返回 结果和Async一样 确实 换汤不换药 所以又研究了一下 发现那样是不行的 因为请求成功以后程序自动进入回调方法进入了主线程

最后使用imageloader 并且配合使用lrucache来将图片缓存了下来 

for(int i=0;i<urls.length;i++) {    ImageView image = new ImageView(getActivity());    image.setScaleType(ImageView.ScaleType.FIT_XY);    image.setOnClickListener(new MyClick(i));    ImageLoader imageLoader = new ImageLoader(requestQueue,bitmapCache);    ImageListener listener = ImageLoader.getImageListener(image, R.drawable.icon_default, R.drawable.image10);    imageLoader.get(urls[i], listener);     views.add(image);}
0 0
原创粉丝点击