文档章节

封装Android Volley请求工具

危险游戏
 危险游戏
发布于 2016/02/26 10:50
字数 213
阅读 639
收藏 1

导入Volley.jar包

package com.rong.utils;

import java.util.HashMap;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.android.volley.AuthFailureError;
import com.android.volley.Request.Method;
import com.android.volley.RequestQueue;
import com.android.volley.Response.ErrorListener;
import com.android.volley.Response.Listener;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;

import android.content.Context;

/**
 * 网络请求工具类
 * 
 * @author 徐荣
 *
 */
public class VolleyUtils {
	private Context mContext;
	private RequestQueue mQueue;

	private static VolleyUtils mVolleyUtils = null;

	private VolleyUtils(Context context) {
		mContext = context;
		mQueue = Volley.newRequestQueue(mContext);
	}

	public static VolleyUtils getInstance(Context context) {
		if (mVolleyUtils == null) {
			mVolleyUtils = new VolleyUtils(context);
		}
		return mVolleyUtils;
	}

	/**
	 * Post请求
	 * 
	 * @param url
	 * @param value
	 * @param listener
	 * @param errorListener
	 */
	public <T> void post(String url, final T value, Listener<String> listener, ErrorListener errorListener) {

		StringRequest request = new StringRequest(Method.POST, Constants.ADRRESS + url, listener, errorListener) {
			@Override
			protected Map<String, String> getParams() throws AuthFailureError {
				HashMap<String, String> map = new HashMap<String, String>();
				map.put("params", JSON.toJSONString(value));
				return map;
			}
		};
		mQueue.add(request);
	}

	/**
	 * Get请求
	 * 
	 * @param url
	 * @param value
	 * @param listener
	 * @param errorListener
	 */
	public <T> void get(String url, final T value, Listener<String> listener, ErrorListener errorListener) {

		StringRequest request = new StringRequest(Method.GET, Constants.ADRRESS + url, listener, errorListener) {
			@Override
			protected Map<String, String> getParams() throws AuthFailureError {
				HashMap<String, String> map = new HashMap<String, String>();
				map.put("params", JSON.toJSONString(value));
				return map;
			}
		};
		mQueue.add(request);
	}

	public RequestQueue getmQueue() {
		return mQueue;
	}
}


© 著作权归作者所有

危险游戏
粉丝 15
博文 93
码字总数 19385
作品 0
杨浦
Android工程师
私信 提问
网络请求框架---Volley

去年的Google I/O大会为android开发者带来了一个网络请求框架,它的名字叫做Volley。Volley诞生的使命就是让Android的网络请求更快,更健壮,而且它的网络通信的实现是基于HttpURLConnection...

Jack_1900
2014/08/01
0
2
修改源码,使volley框架下支持发送和读取cookie

本文为原创,转载请注明出处,否则将依法追究版权 修改源码,让不支持cookie发送的volley框架支持cookie 我们平时开发android应用都需要用到网络技术,通常采用http协议来发起请求并接受网络...

刘小米
2014/12/29
0
11
【转】值得推荐的android开发框架简介

第一个:Afinal 项目地址:https://github.com/yangfuhai/afinal 功能:一个android的ioc,orm框架,内置了四大模块功 能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivi...

kymjs张涛
2014/08/05
0
0
Android 开源项目推荐之「网络请求哪家强」

网络请求这个话题基本是所有 App 开发都会遇到的,这也难怪之前很多人留言让我写写网络请求到底该怎么选择,今天就来说说网络请求到底哪家强! 1 原则 本篇说的网络请求专指 http 请求,在选...

oschina
2016/08/05
4.2K
16
Android 网络开发框架的选择

当我们开发企业级应用的时候,一般都会选择使用已经封装好的http框架。开源的比较流行的有: 1、volley 2、android-async-http 3、retrofit 4、okhttp 5、androidquery 6、AndroidAsync 等。...

jdroid
2014/04/20
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
10分钟前
1
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
4
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
3
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
9
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部