利用volley进行http设置请求头、超时及请求参数设置(post)

Android实现POST表单提交完整示例 本章详细讲解了 Android 平台下网络请求权限的配置方法,包括在 AndroidManifest.xml 中声明INTERNET权限、Android 6.0+ 的权限模型、以及网络请求的安全策略。通过本章内容,开发者可以全面掌握 Android 应用中网络权限的配置流程与安全实践,为后续实现网络请求打下坚实基础。网络权限是 Android 应用进行网络通信的前提;INTERNET权限属于普通权限,安装时自动授予;Android 6.0 引入运行时权限机制,开发者需理解权限分类; 阅读详情

这里以post请求说明,get请求相似设置请求头及超时。

1.自定义request,继承com.android.volley.Request

2.构造方法实现(basecallback,为自定义的监听,实现Response.Listener,ErrorListener接口)--post请求

 public BaseRequest(String url,String params, BaseCallback<T> callback)
    {
	super(Method.POST, url, callback);
	this.callback = callback;
	this.params = params;
	Log.e(TAG, "request:" + params);
	setShouldCache(false);
    }

3.请求头设置:重写getHeaders方法

 @Override
    public Map<String, String> getHeaders() throws AuthFailureError
    {
	Map<String, String> headers = new HashMap<String, String>();
	headers.put("Charset", "UTF-8");
	headers.put("Content-Type", "application/x-javascript");
	headers.put("Accept-Encoding", "gzip,deflate");
	return headers;
    }

设置字符集为UTF-8,并采用gzip压缩传输

4.超时设置:重写getRetryPolicy方法
<span style="color:#cc0000;">非常不好意,之前写的时候 确实没有研究透,后面发现这个问题,没有去纠正博客,对不起了 >_<.,</span>
<span style="color:#cc0000;">超时设置可以直接通过setRetryPolicy设置</span>

5.请求参数组装:重写getBody方法

 @Override
    public byte[] getBody() throws AuthFailureError
    {
	return params == null ? super.getBody() : params.getBytes();
    }

 

结合上一篇gzip响应解析数据即可实现现在常见的http实现json数据的gzip传输


在使用Volley库时推荐大家使用最新库 https://github.com/mcxiaoke/android-volley(OOM等问题)


为表达我的歉意,列举分享一些有用的库个资源-_-:

图片裁剪 crop :https://github.com/jdamcd/android-crop

图片加载库glide-google推荐:https://github.com/bumptech/glide

网络状态监测-facebook:https://github.com/facebook/network-connection-class

RxAndroid:响应式编程 https://github.com/ReactiveX/RxAndroid

通信库AndroidAsync/ION,异步socket/web socket,http client+server  https://github.com/koush/AndroidAsync

trinea相关开源分析:https://github.com/Trinea/android-open-project(各种组件),www.codekk.com,http://www.trinea.cn/


开源播放器:

ijkplayer 现在应用很多:https://github.com/Bilibili/ijkplayer

vlc:http://git.videolan.org/

Volley修改超时时间和请求头源码 volley修改了请求头和请求的超时时间防止多次调用的问题。 立即下载

相关推荐

YT8531 PHY芯片硬件设计与MDIO/RGMII实战指南

以太网PHY芯片是FPGA系统实现网络通信的物理层核心,其关键在于标准接口(如MDIO管理总线和RGMII数据接口)的正确实现与协同。MDIO作为IEEE 802.3定义的低速配置通道,负责寄存器级控制与状态监控;RGMII则通过双沿采样精简引脚,在千兆速率下兼顾性能与PCB布线可行性。技术价值体现在电压兼容性(支持1.8V/2.5V/3.3V)、可编程时序调节(RX_DELAY/TX_DELAY)及多级环回测试能力,显著提升国产FPGA平台(如Xilinx Zynq)的工程鲁棒性。典型应用场景涵盖嵌入式网

weixin_42453228的博客 1334

Volley添加http的header发送请求,referer

我最近在网上看了一下获取股票实时数据的方法。网上说输入:http://hq.sinajs.cn/list=sz000001就可以看到实时数据。我下载了一个相关的代码,通过volley获取数据,结果显示请求失败。我在网页上输入这个网址,结果显示:Kinsoku jikou desu! 哎,不管做什么事情都会有很多鸟事,不管做什么产品都会有很多坑,从来都不会顺利。我查了很多网页,有的网页说添加referer,但是没有说其他了。我想怎么添加啊?找来找去,都没找到答案。没人说怎么添加,更没人说怎么在java的vo

ghomeway的专栏 2175

Hermes-Agent-完整指南

Hermes Agent 是由 **Nous Research** 开发的一款**自我改进型 AI Agent**,具有内置的学习闭环系统。它的核心理念是"一个与你共同成长的 Agent"。- 能够从经验中创建技能(Skill-Learning Automated),在使用过程中自我改进, 跨会话持久记忆, 深度用户建模

liu_zhiyi的博客 3028

Volley 框架自定义请求(Request)之参数传递

一、前言     Volley 是 Android 官方的 HTTP 请求框架 ,它是基于 HttpURLConnection 的,OKHttp 是基于 WebSocket 的,它有一些优势,也有一些缺点,更多关于 Volley的使用,可以参考官方文档:使用 Volley 传输网络数据。 二、Volley 自定义请求(Request)     使用过 Volley 的都知道,Volley 已经提供了一些请求(Request)的实

yingaizhu的博客 1212

POWER SI仿真流程

一、打开软件Power SI二、加载PCB,可以直接使用brd文件,不用再进行格式转换三、check Stackup,与原来的PCB叠层对照一遍,检查数据加载后有没有出错。四、select Nets,加载brd文件后,可能所有的网络都处于使用状态,先在右侧net manager下面右键disable all nets,再使能需要仿真的电源网络(如果要仿真的网络没有归属到电源网络,在其上右键,选classfy as power \ground nets)

lx5213的博客 1314

中移物联ML307C模组OPENCPU开发环境搭建全攻略

本文详细介绍了中移物联ML307C模组OPENCPU开发环境搭建的全过程。从OPENCPU模式的核心优势解析,到SDK获取、Python与scons工具安装,再到解读SDK目录结构与实战编译命令,最后提供常见问题避坑指南,帮助开发者快速构建高效的物联网应用编译环境。

weixin_29168393的博客 741

Android Volley网络访问的参数传递方法

Android Volley网络访问的参数传递方法网络上的错误方法部分源码正确方法 网络上的错误方法 网络上有很多关于Volley使用的例子,由于大家都在偷懒,相互搬运代码,结果大多数例子都是在做错误的向导,来看Volley的两个参数Request, StringRequest与JsonObjectRequest,网上的传参例子如下: StringRequest stringReques...

dingpwen的博客 1061

保姆级教程:用高云GW2A开发板搭建RISC-V软核处理器(含DDR3内存优化配置)

本文提供了一份详细的保姆级教程,指导开发者使用高云GW2A-LV18PG256C8 FPGA开发板搭建RISC-V软核处理器系统。教程涵盖了从开发环境搭建、PicoRV32软核集成,到关键的DDR3内存控制器配置与优化,并深入讲解了时序约束与系统调试方法,帮助初学者和爱好者实现从逻辑设计到软硬件协同的深度实践。

2a4s6d8f0g的博客 565

Volley 传递头部Heards需要注意问题

public static Map<String, String> volley_logged_off(String access_token) { HashMap<String, String> headers = new HashMap<>(); // headers.put("HTTP_AUTHORIZATION", "Bearer" + " " + acces

OAOAAce的专栏 1247

ESP32与DS18B20温度传感器的数据采集与告警系统

并且,通过自定义的微信告警功能,我们可以及时收到温度超过阈值的告警消息。随着物联网的快速发展,传感器在各种应用场景中发挥着重要的作用。本文将介绍如何使用ESP32微控制器与DS18B20温度传感器结合,通过串口输出和Web服务器实现温度数据的采集和监控,并使用自定义微信告警功能。上传完成后,打开串口监视器,您将看到ESP32连接到Wi-Fi网络,并开始监测温度。在您的计算机或移动设备上,打开一个Web浏览器,并输入ESP32的IP地址。在浏览器中输入ESP32的IP地址后,您将看到显示当前温度的页面。

loop_class349的博客 2242

GEE:基于 Landsat 数据集生成(1986-2024)月度合成地表温度(LST)时间序列数据

优快云@_养乐多_本文将介绍使用 Landsat 时间序列计算(1986-2024)月度合成地表温度(LST)时间序列数据集的代码。

养乐多的博客 1710

Volley源码分析之自定义GsonRequest(带header,coockie,Json参数,Gson解析)

本篇博客内容: 1. 介绍Volley的基本知识点 2.分析StringRequest,JsonRequest的源码 3.自定义带header(包含coockie),Json参数,Gson解析的GsonRequest

HeXinGen的博客 1879

热力学仿真软件:COMSOL Heat Transfer_(18).案例研究:工业加热炉优化

工业加热炉的优化设计和操作参数调整是提高制造过程效率和产品质量的关键。通过仿真软件如COMSOL Multiphysics,可以精确地分析炉内的温度分布、能耗和热损失,从而提出有效的优化方案。本文通过一个实际应用案例,展示了如何利用仿真技术进行工业加热炉的综合优化,并通过实验验证了优化方案的有效性。希望这些方法和案例可以为其他制造企业提供参考,帮助他们在实际生产中提高加热炉的性能和效率。

kkchenjj的博客 1008

利用volley进行http设置请求头(三)

volley自定义post请求消息头,需要添加请求参数,拿着这些参数和jsessionid告诉服务器,客户端需要获取哪些相对应的数据,由于volley默认的是get方式,所以我们需要在CommonRequest的构造方法中首先添加请求方式为post,跟StringRequest雷同。 注意post请求参数的添加在CommonRequest的末尾,附加匿名内部类,重写getparams的方法,将

leerfun的博客 3393

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

利用volley进行http设置请求头(二)

利用volley进行http设置请求头(二)

leerfun的博客 912

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

彻底搞懂Android Volley请求参数的设置与传递(10)

在Android开发中,网络请求是必不可少的一部分。而Volley作为Android官方推荐的网络请求库,凭借其简洁的API和高效的性能,受到了广大开发者的喜爱。在进行网络请求时,我们经常需要向服务器传递各种参数,如URL参数、请求头、请求体等。这些参数的设置和传递方式直接影响到请求的正确性和性能。

Android开发领域创作者 950

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

如何用Android-Next实现异步HTTP请求:替代Volley的完整教程

Android-Next是一个功能强大的Android公共组件库,提供了高效的异步HTTP请求功能,可作为Volley的理想替代品。本教程将详细介绍如何使用Android-Next实现各种异步HTTP请求,帮助开发者轻松处理网络通信任务。 ## 为什么选择Android-Next的HTTP组件? Android-Next的HTTP模块提供了比Volley更简洁的API和更灵活的配置选项。它基于

gitblog_00640的博客 1095

volley post请求 gzip压缩 json 传输

volley 使用gizp压缩的请求

Mark_YPQ的专栏 2811

Android错误码400,Android Volley POST 请求返回错误 400(错误请求)

我正在尝试使用 Volley Library 使用 JAVA android 应用程序向 Azure IoT Hub 发出 POST 请求,但是我收到此错误:BasicNetwork.performRequest:https://elca-iot.azure-devices.net/devices/elca-main-device/messages/events?api-version=2016-...

weixin_29229261的博客 1140

android volley post 参数,android – 使用Volley POST传递参数

我能够使用Postman和这些参数调用HTTP端点:{"name":"Val","subject":"Test"}但是我无法通过Android对Volley做同样的事情:这里尝试使用JSONRequest:HashMap params2 = new HashMap();params.put("name", "Val");params.put("subject", "Test Subject");J...

weixin_33273250的博客 264

Android Volley 的post请求自定义 和 volley 的cookies 使用

android的网络请求有很多第三方框架,其中volley由于其高的定制性、稳定性以及速度快得到了大家广泛的使用以及研究,这里我只是说一下我对这个框架下post请求使用的心得体会。 一.cookies的使用 cookies,token,seesion这些都可以理解为我们请求登陆接口后,后台根据用户信息生成一串字符串,然后每次请求接口后会读取这串字符串,就可以识别为那个用户,并且根据用户信息做接下

ZHU260824的博客 848

Volley的简单使用--请求网络

在项目中无可厚非的要使用网络请求,这里对简单好用的谷歌的儿子volley, 适用频繁的、数据量小的网络请求;下面简单说下: Volley中的RequestQueue 和 Request RequestQueue 用来执行请求的请求队列 Request 用来构造一个请求对象,有以下几种类型: StringRequest 响应的主体

cz9025的博客 1448

http请求过程 Android,android HTTP网络请求回顾

1.HTTP协议了解http是一种应用层的协议,底层通过TCP来进行可靠的数据传输。HTTP是基于TCP的应用层协议,它在更高的层次封装了TCP的使用细节,使网络请求更加易用,TCP连接是因特网基于流的一种可靠连接,它为HTTP提供了一条可靠的比特传输管道。从TCP连接一端填入的字节会从另一端以原有的顺序、正确的传送过来。HTTP的7种请求方式GETPOSTDELETEPUTHEADTRACEPO...

weixin_39978350的博客 626

volley请求数据(二)

转载自 http://www.it165.net/pro/html/201310/7419.html 理想的情况是把请求队列集中放到一个地方,最好是初始化应用程序类中初始化请求队列,下面类做到了这一点: public class ApplicationController extends Application { /** * Log or request TAG

u010706236的专栏 1676
上一篇: Android网络通信库Volley简介
下一篇: 统一切换activity
xb_smart
博客等级 码龄16年 124粉丝 74原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值