1、ImageRequest用法和StringRequest一样,主要分为3步:

(1)、实例化一个RequestQueue对象

(2)、设置ImageRequest对象参数,并将ImageRequest对象加入RequestQueue队列

(3)、执行start()方法

2、ImageLoader用法

(1)、实例化一个RequestQueue对象

(2)、实例化一个ImageLoader对象

(3)、实例化一个ImageListener对象

(4)、执行ImageLoader对象的get()方法

3、NetworkImageView用法

(1)、在布局文件中声明NetworkImageView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <com.android.volley.toolbox.NetworkImageView
android:id="@+id/iv_show_image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> </LinearLayout>

(2)、设置默认图片setDefaultImageResId()

(3)、设置出错图片setErrorImageResId()

(4)、设置URL和ImageLoader对象

4、完整代码

public class ImageActivity extends Activity {
private ImageView mIvSHow; private ImageView mIvSHow1; private RequestQueue queue; private NetworkImageView mIvShow2; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image); initView();
} @SuppressWarnings("static-access")
public void initView() {
mIvSHow = (ImageView) findViewById(R.id.iv_show_image);
mIvSHow1 = (ImageView) findViewById(R.id.iv_show_image1);
mIvShow2 = (NetworkImageView) findViewById(R.id.iv_show_image2); /** ImageRequest用法 */
queue = Volley.newRequestQueue(getBaseContext());
queue.add(imageRequest);
queue.start(); /** ImageLoader用法 */
ImageLoader imageLoader = new ImageLoader(queue, new ImageCache() { @Override
public Bitmap getBitmap(String url) {
// TODO Auto-generated method stub
return null;
} @Override
public void putBitmap(String url, Bitmap bitmap) {
// TODO Auto-generated method stub }
}); ImageListener imageListener = imageLoader.getImageListener(mIvSHow1, R.drawable.ic_launcher, R.drawable.he);
imageLoader.get("https://www.baidu.com/img/bd_logo1.png", imageListener); /** NetworkImageView用法 */
mIvShow2.setDefaultImageResId(R.drawable.ic_launcher);
mIvShow2.setErrorImageResId(R.drawable.ic_launcher);
mIvShow2.setImageUrl("https://www.baidu.com/img/bd_logo1.png",imageLoader);
} /** ImageRequest请求 */
public ImageRequest imageRequest = new ImageRequest(
"https://www.baidu.com/img/bd_logo1.png", new Listener<Bitmap>() { @Override
public void onResponse(Bitmap response) {
// TODO Auto-generated method stub
mIvSHow.setImageBitmap(response);
} }, 0, 0, Config.RGB_565, new ErrorListener() { @Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
Log.e("ImageRequest", error.toString());
}
}); }

5、不要忘记加入网络访问权限

<uses-permission android:name="android.permission.INTERNET"/>

6、参考博文:

http://blog.csdn.net/guolin_blog/article/details/17482095/

Android网络开发之Volley--Volley基本用法ImageRequest(三)的更多相关文章

  1. Android网络开发之Volley--Volley基本用法JsonObjectReques(二)

    1.JsonObjectRequest用法 用法和StringRequest基本相同,主要分为3步: (1).实例化一个RequestQueue对象 (2).设置JsonObjectRequest对象 ...

  2. Android网络开发之Volley--Volley基本用法StringRequest(一)

    1.StringRequest用法 主要分为3步: (1).实例化一个RequestQueue对象 (2).设置StringRequest对象参数,并将StringRequest对象加入Request ...

  3. Android网络开发之OkHttp--基本用法POST

    1.OkHttp框架使用了OkIo框架,不要忘记下OkIo.jar 2.通过POST访问网络,和通过GET访问网络基本相同,多了设置请求参数的过程.主要分为五步: (1).声明并实例化一个OkHttp ...

  4. Android网络开发之OkHttp--基本用法GET

    1.OkHttp框架使用了OkIo.jar包,不要忘记添加. 2.对于Request对象是如何实例化的,大家可以参考--java builder设计模式 http://www.cnblogs.com/ ...

  5. Android网络开发之OkHttp--基本用法实例化各个对象

    1.实例化OkHttpClient对象,OkHttpClient包含了以下属性,以及set()和get()方法.但并没有包含具体的执行方法,详情见源码. //实例化OkHttpClent对象 priv ...

  6. Android网络开发之Volley--Volley自定义Request

    1.自定义一个解析Json的Request,这里使用JackSon框架来解析Json.你也可以自定义一个解析XML的Request,或者使用FastSon来解析Json. 2.我们首先来看一下Stri ...

  7. Android 网络开发之WIFI

    WIFI就是一种无线联网技术,常见的是使用无线路由器.那么在这个无线路由器的信号覆盖的范围内都可以采用WIFI连接的方式进行联网.如果无线路由器连接了一个ADSL线路或其他的联网线路,则又被称为&qu ...

  8. Android网络开发之用tcpdump抓包

    Android开发过程中,当涉及到网络通信的时候,有一些字段须要抓包获取.我之前由于SSDP设备发现的包头格式没有写对,经过抓包分析和标准包头对照发现了这个困扰我非常久的问题.总之,掌握在Androi ...

  9. Android网络开发之WIFI

    WIFI全称Wireless Fidelity, 又称802.11b标准.WIFI联盟成立于1999年,当时的名称叫做Wireless Ethernet Compatibility Alliance( ...

随机推荐

  1. Storm官方帮助手册翻译(下)

    使用其他语言编写Bolt Bolt可以使用任意语言编写.用另外一种语言编写Bolt来作为子进程运行.Storm会在标准输入输出的基础上使用Json来与子进程通信.通信协议之需要一个100行的适配器库, ...

  2. HDU2539:点球大战

    Problem Description 在足球比赛中,有不少赛事,例如世界杯淘汰赛和欧洲冠军联赛淘汰赛中,当比赛双方经过正规比赛和加时赛之后仍然不分胜负时,需要进行点球大战来决定谁能够获得最终的胜利. ...

  3. OpenCV——mixChannels函数

    mixChannels Copies specified channels from input arrays to the specified channels of output arrays. ...

  4. Angularjs中的ng-class

    在angular中为我们提供了3种方案处理class:1:scope变量绑定.(不推荐使用)2:字符串数组形式.3:对象key/value处理. 我们继续其他两种解决方案:1字符串数组形式是针对cla ...

  5. unknown filesystem type ‘iso9660’类型问题--Ubuntu

    unknown filesystem type ‘iso9660’是指系统不支持这种类型的文件, 用以下命令更新内核即可: sudo aptitude update sudo aptitude upg ...

  6. watch命令

    watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行.在Linux下,watch是周期性的执行下个 ...

  7. asp发邮件控件

    <% Set jmail = Server.CreateObject("JMAIL.SMTPMail") ’创建一个JMAIL对象 jmail.silent = true ’ ...

  8. 转 : ANT 调用sqlplus 客户端

    Jenkins安装与配置  (版本控制) 1 用ant脚本执行sql语句现在我需要写一个ant脚本来实现项目安装,情况是这样的,客户现在运行的版本可能是2.0,安装目录里可能有REL_1_0,REL_ ...

  9. 【贪心】 poj 1032 和为n的若干数最大乘积

    给出n,把n分解为若干不相同数之和,使之乘积最大.贪心,Discuss里面的思路:把n分解为从2开始的连续整数,如果有多,则从高位开始依次加1.如26,我们得到2+3+4+5+6,此时还剩余6(26- ...

  10. Spring Boot 系列教程16-数据国际化

    internationalization(i18n) 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式. 它要求从产品中抽离所有地域语言,国家/地区和 ...