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. WPF 画心2.0版之元旦快乐

    2017年元旦已经到了,想做一个祝福语的窗口,就把上一篇画心的程序改了改,变成了如下界面. 说下改动的地方,首先窗口没有标题栏了. MainWindow.xaml AllowsTransparency ...

  2. JQuery EasyUI DataGrid列表所见所得随意导出excel

    1.抽取DataGrid列表数据 function ExportNormal(strXlsName, exportGrid, postUrl, hiddenColumns) { /// <sum ...

  3. php性能剖析的几款软件

    1. xhprof (http://pecl.php.net/package/xhprof)   facebook  2009年开源 2. xdebug 3. valgrind 4. cachegri ...

  4. CRC循环冗余校验码总结(转)

    转自 http://blog.csdn.net/u012993936/article/details/45337069 一.CRC简介 先在此说明下什么是CRC:循环冗余码校验 英文名称为Cyclic ...

  5. 【Java EE 学习 54】【OA项目第一天】【SSH事务管理不能回滚问题解决】【struts2流程回顾】

    一.SSH整合之后事务问题和总结 1.引入问题:DAO层测试 假设将User对象设置为懒加载模式,在dao层使用load方法. 注意,注释不要放开. 使用如下的代码块进行测试: 会报错:no sess ...

  6. 2016-11-05实战-定义ssh服务的日志

    1.编辑/etc/rsyslog.conf 输入 local 0 .*     /var/log/sshd.log   #日志的保存路径 2.定义ssh服务的日志级别 编辑sshd服务的主配置文件:/ ...

  7. Codeforces Round #379 (Div. 2)

    A ~~ B ~~ C 对于第二种方法,我们可以任取一个换c[i]个potions,花费d[i]:或者是不取,我的做法就是枚举这些情况,得到剩余的s,再尽量优的获取小的a[i]: 枚举+二分 #inc ...

  8. find命令与cat命令区别

    在当前目录下查找 MEMBERINTERFACE 这个字符串的文件find . -name '*'|xargs grep "MEMBERINTERFACE"find / -name ...

  9. AndroidAnnotations(Code Diet)android快速开发框架

    最近用了一款很不错的android快速开发框架,1000行的代码瞬间变成几百行,不用你会后悔的 特点: (1) 依赖注入:包括view,extras,系统服务,资源等等(2) 简单的线程模型,通过an ...

  10. 修改Linux系统日期与时间date clock

    先设置日期 date -s 20080103 再设置时间 date -s 18:24:30 为了永久生效,需要将修改的时间写入CMOS. 查看CMOS的时间: #clock -r 将当前系统时间写到C ...