android之volley学习
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学习的更多相关文章
- android的volley学习
更简单的一种方式是在build.gradle中引入依赖[推荐这种方式] compile 'com.android.volley:volley:1.1.1' StringRequest的用法接下来我们看 ...
- Android采用Volley具体的例子展示完整的异步加载数据(一)
MainActivity例如下列: package cc.cn; import java.util.HashMap; import org.json.JSONObject; import androi ...
- android NDK 实用学习(五)-c++端调用java接口
1,阅读此文章前请阅读前面文章,以免阅读出现障碍: android NDK 实用学习(一)-获取java端类及其类变量 android NDK 实用学习(二)-java端对象成员赋值和获取对象成员值 ...
- android NDK 实用学习(三)- java端类对象的构造及使用
1,读此文章前我假设你已经读过: android NDK 实用学习-获取java端类及其类变量 android NDK 实用学习-java端对象成员赋值和获取对象成员值 2,java端类对象的构造: ...
- android NDK 实用学习(二)-java端对象成员赋值和获取对象成员值
1,关于java端类及接口定义请参考: android NDK 实用学习-获取java端类及其类变量 2,对传过来的参数进行赋值: 对bool类型成员进行赋值 env->SetBooleanF ...
- Android源码学习之装饰模式应用
首先得了解最基础的装饰器模式 参考 设计模式之八 --- 装饰模式(Decorator) 参考链接:http://blog.csdn.net/cjjky/article/details/7478788 ...
- Android应用开发学习之表格视图
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来学习一个使用表格视图的程序,下图是该程序的运行效果: 该程序主Activity文件内容如下: packag ...
- 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据 ...
- Android之SurfaceView学习(一)转转
Android之SurfaceView学习(一) 首先我们先来看下官方API对SurfaceView的介绍 SurfaceView的API介绍 Provides a dedicated drawing ...
随机推荐
- WPF 画心2.0版之元旦快乐
2017年元旦已经到了,想做一个祝福语的窗口,就把上一篇画心的程序改了改,变成了如下界面. 说下改动的地方,首先窗口没有标题栏了. MainWindow.xaml AllowsTransparency ...
- JQuery EasyUI DataGrid列表所见所得随意导出excel
1.抽取DataGrid列表数据 function ExportNormal(strXlsName, exportGrid, postUrl, hiddenColumns) { /// <sum ...
- php性能剖析的几款软件
1. xhprof (http://pecl.php.net/package/xhprof) facebook 2009年开源 2. xdebug 3. valgrind 4. cachegri ...
- CRC循环冗余校验码总结(转)
转自 http://blog.csdn.net/u012993936/article/details/45337069 一.CRC简介 先在此说明下什么是CRC:循环冗余码校验 英文名称为Cyclic ...
- 【Java EE 学习 54】【OA项目第一天】【SSH事务管理不能回滚问题解决】【struts2流程回顾】
一.SSH整合之后事务问题和总结 1.引入问题:DAO层测试 假设将User对象设置为懒加载模式,在dao层使用load方法. 注意,注释不要放开. 使用如下的代码块进行测试: 会报错:no sess ...
- 2016-11-05实战-定义ssh服务的日志
1.编辑/etc/rsyslog.conf 输入 local 0 .* /var/log/sshd.log #日志的保存路径 2.定义ssh服务的日志级别 编辑sshd服务的主配置文件:/ ...
- Codeforces Round #379 (Div. 2)
A ~~ B ~~ C 对于第二种方法,我们可以任取一个换c[i]个potions,花费d[i]:或者是不取,我的做法就是枚举这些情况,得到剩余的s,再尽量优的获取小的a[i]: 枚举+二分 #inc ...
- find命令与cat命令区别
在当前目录下查找 MEMBERINTERFACE 这个字符串的文件find . -name '*'|xargs grep "MEMBERINTERFACE"find / -name ...
- AndroidAnnotations(Code Diet)android快速开发框架
最近用了一款很不错的android快速开发框架,1000行的代码瞬间变成几百行,不用你会后悔的 特点: (1) 依赖注入:包括view,extras,系统服务,资源等等(2) 简单的线程模型,通过an ...
- 修改Linux系统日期与时间date clock
先设置日期 date -s 20080103 再设置时间 date -s 18:24:30 为了永久生效,需要将修改的时间写入CMOS. 查看CMOS的时间: #clock -r 将当前系统时间写到C ...