Android网络开发之Volley--Volley基本用法ImageRequest(三)
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(三)的更多相关文章
- Android网络开发之Volley--Volley基本用法JsonObjectReques(二)
1.JsonObjectRequest用法 用法和StringRequest基本相同,主要分为3步: (1).实例化一个RequestQueue对象 (2).设置JsonObjectRequest对象 ...
- Android网络开发之Volley--Volley基本用法StringRequest(一)
1.StringRequest用法 主要分为3步: (1).实例化一个RequestQueue对象 (2).设置StringRequest对象参数,并将StringRequest对象加入Request ...
- Android网络开发之OkHttp--基本用法POST
1.OkHttp框架使用了OkIo框架,不要忘记下OkIo.jar 2.通过POST访问网络,和通过GET访问网络基本相同,多了设置请求参数的过程.主要分为五步: (1).声明并实例化一个OkHttp ...
- Android网络开发之OkHttp--基本用法GET
1.OkHttp框架使用了OkIo.jar包,不要忘记添加. 2.对于Request对象是如何实例化的,大家可以参考--java builder设计模式 http://www.cnblogs.com/ ...
- Android网络开发之OkHttp--基本用法实例化各个对象
1.实例化OkHttpClient对象,OkHttpClient包含了以下属性,以及set()和get()方法.但并没有包含具体的执行方法,详情见源码. //实例化OkHttpClent对象 priv ...
- Android网络开发之Volley--Volley自定义Request
1.自定义一个解析Json的Request,这里使用JackSon框架来解析Json.你也可以自定义一个解析XML的Request,或者使用FastSon来解析Json. 2.我们首先来看一下Stri ...
- Android 网络开发之WIFI
WIFI就是一种无线联网技术,常见的是使用无线路由器.那么在这个无线路由器的信号覆盖的范围内都可以采用WIFI连接的方式进行联网.如果无线路由器连接了一个ADSL线路或其他的联网线路,则又被称为&qu ...
- Android网络开发之用tcpdump抓包
Android开发过程中,当涉及到网络通信的时候,有一些字段须要抓包获取.我之前由于SSDP设备发现的包头格式没有写对,经过抓包分析和标准包头对照发现了这个困扰我非常久的问题.总之,掌握在Androi ...
- Android网络开发之WIFI
WIFI全称Wireless Fidelity, 又称802.11b标准.WIFI联盟成立于1999年,当时的名称叫做Wireless Ethernet Compatibility Alliance( ...
随机推荐
- 解决Xcode 9.2系统真机测试时出现 could not find developer disk image问题
解决Xcode在ipad/iphone 9.2 系统真机测试时出现could not find developer disk image问题 第一种方法:拷贝这个文件(http://download. ...
- Shell:进程的层级关系
[luwenwei@appdev115 ~]$ ps -ef | grep initroot 1 0 0 Apr24 ? 00:08:25 init [3] [luwenwei@appdev115 ~ ...
- GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...
- table导出到excel的两种方法
1. 用table2excel 的js文件,这种方法没有IE兼容性 需要在文件中导入 <script type="text/javascript" src="< ...
- javascript IP验证
//IP验证function isIP(strIP){try{if(strIP.length<7){return false;}var re=/^(\d+)\.(\d+)\.(\d+)\.(\d ...
- SCP测试服务器的上行/下行带宽
SCP测试服务器的上行/下行带宽,这个咋弄呢?有时间再研究一下.
- win10怎么启用网络发现,网络发现已关闭怎么办
脑和电脑之间传输文件的方式很多,其中一种就是使用局域网,在网络中我们的电脑应该可以被其他电脑发现是非常方便使用文件共享的,尤其是在使用家庭组网络的时候,那么win10里面怎么启用网络发现呢? 工具/原 ...
- OpenGL———混合的基本知识
混合是一种常用的技巧,通常可以用来实现半透明.但其实它也是十分灵活的,你可以通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象.混合是什么呢?混合就是把两种颜色混在一起.具体一点,就是把某一 ...
- boost库之graph入门
#include <boost/graph/undirected_graph.hpp> #include <boost/graph/adjacency_list.hpp> us ...
- Math类的round方法小解
在Math类中有三个关于“四舍五入”的静态方法(ceil,floor,round): ① Math.ceil(number) 向上取整,Math.ceil(11.2) 结果:12 ...