Volley的基本使用(转)
git clone https://android.googlesource.com/platform/frameworks/volley

1 //初始化一个请求队列
2 RequestQueue queue = Volley.newRequestQueue(this);
3 String url ="http://www.google.com";
4
5 //根据给定的URL新建一个请求
6 StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
7 new Response.Listener() {
8 @Override
9 public void onResponse(String response) {
10 //在这里操作UI组件是安全的,因为响应返回时这个函数会被post到UI线程来执行
11 // 在这里尽情蹂躏响应的String。
12 }
13 }, new Response.ErrorListener() {
14 @Override
15 public void onErrorResponse(VolleyError error) {
16 // 出错了怎么办?凉拌!并且在这里拌。
17 }
18 });
19 // 把这个请求加入请求队列
20 queue.add(stringRequest);

1.public StringRequest(int method, String url, Listener<String> listener,ErrorListener errorListener);
| ALPHA_8 | |
| ARGB_4444 | 由于质量低,已经被弃用,推荐用ARGB_8888 |
| ARGB_8888 | 每个像素用4byte存储 |
| RGB_565 | 每个像素用2byte存储,红色占5位,绿色占6位,蓝色占5位 |

1 //初始化一个请求队列
2 RequestQueue queue = Volley.newRequestQueue(this);
3 String url ="http://www.google.com";
4
5 //根据给定的URL新建一个请求
6 StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
7 new Response.Listener() {
8 @Override
9 public void onResponse(String response) {
10 // 在这里处理请求得到的String类型的响应
11 }
12 }, new Response.ErrorListener() {
13 @Override
14 public void onErrorResponse(VolleyError error) {
15 // 在这里进行出错之后的处理
16 }
17 }) {
18 @Override
19 protected Map<String, String> getParams() throws AuthFailureError {
20
21 Map<String, String> map = new HashMap<String, String>();
22 map.put("params1", "value1");
23 map.put("params2", "value2");
24 return map
25 };
26 // 把这个请求加入请求队列
27 queue.add(stringRequest);


1 ImageLoader imageLoader = new ImageLoader(mRequestQueue, new ImageCache() {
2 @Override
3 public void putBitmap(String url, Bitmap bitmap) {
4 }
5
6 @Override
7 public Bitmap getBitmap(String url) {
8 return null;
9 }
10 });
11
12 //default_image是正在加载图片时占位用的
13 //error_image是加载不成功时显示的图片
14 ImageListener listener = ImageLoader.getImageListener(imageView, R.drawable.default_image, R.drawable.error_image);
15imageLoader.get("your image url", listener);

1 networkImageView = (NetworkImageView) findViewById(R.id.network_image_view);
2 networkImageView.setDefaultImageResId(R.drawable.default_image);
3 networkImageView.setErrorImageResId(R.drawable.error_image);
4 networkImageView.setImageUrl("your image url", imageLoader);

1 private static MySingleton mInstance;
2 private RequestQueue mRequestQueue;
3 private ImageLoader mImageLoader;
4 private static Context mCtx;
5
6 private MySingleton(Context context) {
7 mCtx = context;
8 mRequestQueue = getRequestQueue();
9
10 mImageLoader = new ImageLoader(mRequestQueue,
11 new ImageLoader.ImageCache() {
12 private final LruCache<String, Bitmap>
13 cache = new LruCache<String, Bitmap>(20);
14
15 @Override
16 public Bitmap getBitmap(String url) {
17 return cache.get(url);
18 }
19
20 @Override
21 public void putBitmap(String url, Bitmap bitmap) {
22 cache.put(url, bitmap);
23 }
24 });
25 }
26
27 public static synchronized MySingleton getInstance(Context context) {
28 if (mInstance == null) {
29 mInstance = new MySingleton(context);
30 }
31 return mInstance;
32 }
33
34 public RequestQueue getRequestQueue() {
35 if (mRequestQueue == null) {
36 // getApplicationContext()是关键, 它会避免
37 // Activity或者BroadcastReceiver带来的缺点.
38 mRequestQueue = Volley.newRequestQueue(mCtx.getApplicationContext());
39 }
40 return mRequestQueue;
41 }
42
43 public <T> void addToRequestQueue(Request<T> req) {
44 getRequestQueue().add(req);
45 }
46
47 public ImageLoader getImageLoader() {
48 return mImageLoader;
49 }
50 }



Volley的基本使用(转)的更多相关文章
- 快速Android开发系列网络篇之Volley
Volley是Google推出的一个网络请求库,已经被放到了Android源码中,地址在这里,先看使用方法 RequestQueue mRequestQueue = Volley.newRequest ...
- Android Volley
1.volley简单的介绍: Volley是一个HTTP库,使Android应用程序变得更加容易,最重要的是,网络 得更快. Vollry 提供以下好处: 1.自动调度的网络请求. 2.多个并发的网络 ...
- volley用法之 以post方式发送 json 参数
需求是这样 我们需要发送一个post请求向服务器要参数.要求是发送的post参数也要是json格式. 简单一点的是这样的: 如果要发送的是这样简单的json格式,我们可以简单的使用map来实现: Re ...
- Volley框架使用笔记
1.初始化请求队列 RequestQueue RequestQueue queue= Volley.newRequestQueue(context); 2.StringRequest 网络请求 Get ...
- android之volley学习
Volley是android的平台通信库,一个新的网络通信框架.Volley 的特点:适合数据量小,通信频繁的网络操作. 获取Volley git 工具使用:git clone https://and ...
- Android开发学习之路-Volley源码解析
从简单的StringRequest入手看看Volley的工作机制. 先简单说下Volley的用法: ① 获取一个RequestQueue mRequestQueue = Volley.newReque ...
- ym—— Android网络框架Volley(体验篇)
VolleyGoogle I/O 2013推出的网络通信库,在volley推出之前我们一般会选择比较成熟的第三方网络通信库,如: android-async-http retrofit okhttp ...
- Google开源库-Volley的使用
一.什么是Volley? Volley is an HTTP library that makes networking for Android apps easier and most import ...
- [Android]Volley源码分析(五)
前面几篇通过源码分析了Volley是怎样进行请求调度及请求是如何被实际执行的,这篇最后来看下请求结果是如何交付给请求者的(一般是Android的UI主线程). 类图:
- [Android]Volley源码分析(四)
上篇中有提到NetworkDispatcher是通过mNetwork(Network类型)来进行网络访问的,现在来看一下关于Network是如何进行网络访问的. Network部分的类图:
随机推荐
- 设置session的生命周期(php)
PHP中,Session变量保存在服务器端(默认以文件格式保存),而Session ID以cookie形式保存在客户端. 销毁session的方法有2种 第一种是通过程序 session_destor ...
- php报警:Strict Standards: Only variables should be passed by reference in
错误原因 因为end函数的原因. end函数: mixed end ( array &$array ) 你可以看到end的参数是一个引用(reference),而你只能把一个变量的引 ...
- Html5游戏框架createJs的简单用法
声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢!http://www.it165.net/pro/html/201403/11105.html 楼主记忆力不好,最近刚好用了一下create ...
- opencv在VS2010命令行编译过程
最近这两天一直在研究命令行参数的编译,现代吗如下: #include <highgui.h> #include <math.h> #include <cv.h> I ...
- PHP中的MVC
在PHP中使用MVC越来越流行了,特别是在一些开源的框架当中.MVC足以应对大多数的情况,但还有一些情况是其不太适合的,如比较简单的个人博客,对于只有几百篇文章量级的博客,使用MVC让人觉得有些太复杂 ...
- JS论坛地址备忘
论坛: 百度JS吧 CSDN论坛JS版 AS天地会JS区 编程论坛JS版 开源中国JS分享 开源中国JS提问区 德问 JS堂 CSS-JS前端论坛 蓝色理想 ITEYE php100 phpspeak ...
- zz将 VSTO 插件部署给所有用户
原文:zz将 VSTO 插件部署给所有用户 注:本文原作者 Misha Shneerson 是 VSTO 团队的工程师.原文可以在下列地址找到:http://blogs.msdn.com/mshnee ...
- 对ExtJS4应用 性能优化的几点建议
ExtJS由于UI设计过去强悍,导致性能问题一直被大家诟病,不过到ExtJS4.1之后,性能问题相比以前的版本已有所改善,下面是官方文档给出的优化建议,李坏在此做个小小的总结,仅供大家参考. (1)合 ...
- 【gm】
gm : GraphicsMagick for node.js aheckmann/gm imgAreaSelect 图片剪裁 apt-get install imagemagick 执行conver ...
- 数据结构——UVA 1600 机器人巡逻
描述 A robot has to patrol around a rectangular area which is in a form of mxn grid (m rows and n colu ...