Volley网络框架

原创 2018年04月16日 18:15:25

Volley 网络通信框架

 * 完全异步 

* 怎么实现呢 

* 1:因为Volley是并发的跟Handler里面消息机制一样 

* 消息队列管理 消息 

* RequestQueue 管理 Request(StringRequest,ImageRequest)

 * 最后不要忘记add进去 * * Volley请求图片有三种方式 * 1:ImageRequest 

* 2:ImageLoader 

* 3:NetWorkImageView

//get请求数据 

 private void getInfo() {

c requestQueue = Volley.newRequestQueue(MainActivity.this); 

 //StringRequest.Method.GET 设置为GET请求方式

 StringRequest stringRequest = new StringRequest(StringRequest.Method.GET, url地址, 

new Response.Listener() { 

 @Override 

 public void onResponse(String response) {

 mText.setText(response + ""); 

 } }, null); 

 requestQueue.add(stringRequest); 

 }



//Post请求数据  


 private void postInfo() { 

 RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this); 

 StringRequest stringRequest = new StringRequest(Request.Method.POST, mPostUrl, 

new Response.Listener() { 

 @Override

 public void onResponse(String response) { 

 mText.setText(response); } }, 

new Response.ErrorListener() { 

 @Override

 public void onErrorResponse(VolleyError error) { 

 } }) { 

 //因为是POST请求,构造方法里面没有参数 他们给封装到了构造方法后边 

 @Override 

 protected MapgetParams() throws AuthFailureError { 

 Mapmap = new HashMap(); 

 map.put("userName", "lxx"); map.put("passWord", "123"); return map; } };

 requestQueue.add(stringRequest); }


//ImageRequest请求图片 

 private void getImage() { RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);

 //参数1:图片的网址,参数2:成功回调 参数3,4:图片的最大宽和高 参数5:设置图片样式, ImageRequest imageRequest = new ImageRequest(ImageUrls.imageUrls[3], new Response.Listener() {

@Override

public void onResponse(Bitmap response) {

get_Image.setImageBitmap(response);

}

}, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

}

});

requestQueue.add(imageRequest);

}

//ImageLoader

private void getImageLoader() {

RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);

ImageLoader imageLoader = new ImageLoader(requestQueue, new ImageLoader.ImageCache() {

@Override

public Bitmap getBitmap(String url) {

Log.e("url", url);

return null;

}

@Override

public void putBitmap(String url, Bitmap bitmap) {

Log.e("putBitmap", url);

}

});

//设置请求回调  参数1:代表的是回调成功吧图片放到那个组件上,参数2:请求时加载的默认图片,参数3:请求失败的图片

ImageLoader.ImageListener imageListener = ImageLoader.getImageListener(设置图片的控件ID, R.mipmap.iv_lol_icon3, R.mipmap.iv_lol_icon14);

imageLoader.get(请求的图片 , imageListener);

}

//Volley里面提供一个组件可以用来显示Image  NetWorkImageView

private void getNetImage() {

RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);

ImageLoader imageLoader = new ImageLoader(requestQueue, new ImageLoader.ImageCache() {

@Override

public Bitmap getBitmap(String url) {

Log.e("url", url);

return null;

}

@Override

public void putBitmap(String url, Bitmap bitmap) {

Log.e("putBitmap", url);

}

});

mNet.setDefaultImageResId(请求时加载的默认图片);

mNet.setErrorImageResId(请求失败时的图片);

mNet.setImageUrl(请求的图片, imageLoader);

}




Android网络框架Volley项目实战

使用Google 2013 I/O大会上发布的Volley请求框架做几个实战项目,归属地查询,QQ测试吉凶,天气预报!
  • 2016年06月04日 10:50

Volley.jar

  • 2018年01月22日 11:54
  • 92KB
  • 下载

Android Volley网络框架的基本使用

]Volley基本使用介绍
  • tyzlmjj
  • tyzlmjj
  • 2015-10-08 16:02:44
  • 1375

Android网络框架Volley的使用总结

其实Volley网络框架实现了二级缓存机制(内存和网络),比如页面的信息刚使用Volley网络框架来请求数据,那么它的数据可以保存在缓存中,页面跳转到其他页面后,再跳转到原来缓存过的页面,那么这时是不...
  • wenzhi20102321
  • wenzhi20102321
  • 2016-11-18 13:20:21
  • 844

Android 网络框架Volley源码讲解

其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示。多数朋友突然看到一张这样的图,应该会和我一样,感觉一头雾水吧?没错,目前我们对Volley背后的工作原理还没有一个概...
  • csdn_aiyang
  • csdn_aiyang
  • 2017-05-10 17:58:31
  • 200

Android 网络通信框架Volley的二次封装

在android开发中不可避免地需要用到网络访问,多数情况下会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信:HttpURLConnection和Htt...
  • qq_20785431
  • qq_20785431
  • 2016-04-02 18:31:09
  • 2948

Android中 网络框架Volley的用法

Volley是在Google I/O 2013上发布的一框网络通信http模块,新版本的Android已经废除了HttpClient的使用,目前主流的android网络通信库有:Async-Http、...
  • u013606974
  • u013606974
  • 2016-07-01 16:44:38
  • 704

网络框架Volley原理分析

简介:Volley 是 Google 推出的 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。Volley 的特点:特别适合数据量小,通信频繁的网络操作...
  • ht_android
  • ht_android
  • 2015-04-09 15:14:34
  • 2660

Android网络框架-Volley(一) 初步使用Volley

  • 2016年04月13日 10:20
  • 18.97MB
  • 下载

android网络框架-volley分析

  • 2015年03月08日 10:55
  • 1MB
  • 下载
收藏助手
不良信息举报
您举报文章:Volley网络框架
举报原因:
原因补充:

(最多只允许输入30个字)