Volley是android的平台通信库,一个新的网络通信框架。Volley 的特点:适合数据量小,通信频繁的网络操作。

获取Volley

git 工具使用:
git clone https://android.googlesource.com/platform/frameworks/volley

下载下来然后到eclipse后生成jar文件,放到libs下面
在已有的project中点击new->new module,然后进去选择页面

在选择页面可以看到,这个更友好的界面,有Library导入,.jar、.AAR等,因为此时我们下载的是Volley.jar,所以选择 .jar
然后选择文件所在文件夹,此时作者放在桌面
接下来因为没有将库引用,所以要配置bulid.gradle,此时选择File->project structure
左侧选择app,然后右侧点击dependency,如图
然后点击右边加号第三个Module dependency,添加刚才导入的Volley.jar

一:volley请求加载图片

本地搭建一个服务器,里面放一张图片,

布局里面放一个普通的ImageView,找到图片

iv = (ImageView) findViewById(R.id.volley_image);

该方法在onCreate里面执行

 private void getVolleyImage() {
RequestQueue requestqueue = Volley.newRequestQueue(this);
String iamgeurl = "http://10.0.2.2/images/pic_1.jpg";
final LruCache<String, Bitmap> lurcache = new LruCache<String, Bitmap>();
ImageLoader.ImageCache imagecahe = new ImageLoader.ImageCache() {
@Override
public Bitmap getBitmap(String key) {
return lurcache.get(key);
} @Override
public void putBitmap(String key, Bitmap value) {
lurcache.put(key, value);
}
};
ImageLoader imageloader = new ImageLoader(requestqueue, imagecahe);
ImageLoader.ImageListener listener = imageloader.getImageListener(iv, R.drawable.p1, R.drawable.p1);
imageloader.get(iamgeurl, listener);
}

二:使用NetworkImageView

<com.android.volley.toolbox.NetworkImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:id="@+id/volley_image2" />

然后在onCreate里面执行

 private void getNetworkImageView() {
String iamgeurl = "http://10.0.2.2/images/pic_1.jpg";
RequestQueue requestqueue = Volley.newRequestQueue(this);
final LruCache<String, Bitmap> lurcache = new LruCache<String, Bitmap>(); ImageLoader.ImageCache imagecahe = new ImageLoader.ImageCache() {
@Override
public Bitmap getBitmap(String key) {
return lurcache.get(key);
} @Override
public void putBitmap(String key, Bitmap value) {
lurcache.put(key, value);
}
}; ImageLoader imageloader = new ImageLoader(requestqueue, imagecahe);
iv2.setTag("url");
iv2.setImageUrl(iamgeurl, imageloader);
}

android之volley学习的更多相关文章

  1. android的volley学习

    更简单的一种方式是在build.gradle中引入依赖[推荐这种方式] compile 'com.android.volley:volley:1.1.1' StringRequest的用法接下来我们看 ...

  2. Android采用Volley具体的例子展示完整的异步加载数据(一)

    MainActivity例如下列: package cc.cn; import java.util.HashMap; import org.json.JSONObject; import androi ...

  3. android NDK 实用学习(五)-c++端调用java接口

    1,阅读此文章前请阅读前面文章,以免阅读出现障碍: android NDK 实用学习(一)-获取java端类及其类变量 android NDK 实用学习(二)-java端对象成员赋值和获取对象成员值 ...

  4. android NDK 实用学习(三)- java端类对象的构造及使用

    1,读此文章前我假设你已经读过: android NDK 实用学习-获取java端类及其类变量 android NDK 实用学习-java端对象成员赋值和获取对象成员值 2,java端类对象的构造: ...

  5. android NDK 实用学习(二)-java端对象成员赋值和获取对象成员值

    1,关于java端类及接口定义请参考: android NDK 实用学习-获取java端类及其类变量 2,对传过来的参数进行赋值: 对bool类型成员进行赋值  env->SetBooleanF ...

  6. Android源码学习之装饰模式应用

    首先得了解最基础的装饰器模式 参考 设计模式之八 --- 装饰模式(Decorator) 参考链接:http://blog.csdn.net/cjjky/article/details/7478788 ...

  7. Android应用开发学习之表格视图

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来学习一个使用表格视图的程序,下图是该程序的运行效果: 该程序主Activity文件内容如下: packag ...

  8. 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)

    原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据 ...

  9. Android之SurfaceView学习(一)转转

    Android之SurfaceView学习(一) 首先我们先来看下官方API对SurfaceView的介绍 SurfaceView的API介绍 Provides a dedicated drawing ...

随机推荐

  1. code vs 1098 均分纸牌(贪心)

    1098 均分纸牌 2002年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解   题目描述 Description 有 N 堆纸牌 ...

  2. UIRefreshControl

    在iOS6中UITableViewController 已经集成了UIRefreshControl 控件.UIRefreshControl目前只能用于UITableViewController

  3. ajax用get刷新页面元素在IE下无效解决~~

    总结一下解决办法: 在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱,[即get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端 ...

  4. Google之Chromium浏览器源码学习——base公共通用库(一)

    Google的优秀C++开源项目繁多,其中的Chromium浏览器项目可以说是很具有代表性的,此外还包括其第三开发开源库或是自己的优秀开源库,可以根据需要抽取自己感兴趣的部分.在研究.学习该项目前的时 ...

  5. 闪回查询(SELECT AS OF)

    使用Flashback Query的场景包括如下: 摘自官档 Recovering lost data or undoing incorrect, committed changes. For exa ...

  6. Win7 U盘安装Ubuntu16.04 双系统详细教程

    Win7 U盘安装Ubuntu16.04 双系统详细教程 安装主要分为以下几步: 一. 下载Ubuntu 16.04镜像软件: 二. 制作U盘启动盘使用ultraISO: 三. 安装Ubuntu系统: ...

  7. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)

    Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...

  8. string与int互换

    1:将string转化为int 1.) int i = Integer.parseInt(String s); 2.) int i = Integer.valueOf(my_str).intValue ...

  9. 我的 vim 基本配置

    " required 使用 vundle 需要先设置这两项 set nocompatible filetype off " 设置 vundle 插件 使用帮助:https://gi ...

  10. 如何动态在spring mvc中增加bean

    阅读对象 搭框架人员,或者其他感兴趣的开发人员 背景 一般来说在业务代码中,加上 @Component, @Service,@Repository, @Controller等注解就可以实现将bean注 ...