基于Android_volley的Get、Post的方法
用Android_volley加载网络信息有Get,post两种方式,通过一个例子来说明,在Activity中设置两个Button,分别测试Get、post方法
一般分为三步,
1. 创建一个RequestQueue对象。
2. 创建一个StringRequest对象。
3. 将StringRequest对象添加到RequestQueue里面。
package com.example.administrator.jreduch07.save; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView; import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.example.administrator.jreduch07.R;
import com.example.administrator.jreduch07.util.StringGetResquest;
import com.example.administrator.jreduch07.util.StringPostRequest; public class VolleyActivity extends AppCompatActivity
implements View.OnClickListener{ //本类监听
private Button bt,bt1;
private TextView show;
private RequestQueue queue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_volley);
bt= (Button) findViewById(R.id.bt);
bt1= (Button) findViewById(R.id.bt1);
show= (TextView) findViewById(R.id.tv);
bt.setOnClickListener(this);
bt1.setOnClickListener(this); queue= Volley.newRequestQueue(this); //初始化 } @Override
public void onClick(View v) {
int id=v.getId();
if(id==R.id.bt){
getWeather();
PostVolley();
}else if(id==R.id.bt1){
GetVolley();
}
}
public void GetVolley(){
String url="http://192.168.1.30:8080/HttpTest/index.jsp?option=getUser&uName=jerehedu";
StringRequest sr=new StringRequest(url, new Response.Listener<String>() { @Override
public void onResponse(String s) {
show.setText(s+"111");
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
show.setText(volleyError.getMessage());
}
});
queue.add(sr);
} public void PostVolley(){
String url=UrlUtil.channelUrl;
String url2=UrlUtil.weatherUrl;
StringPostRequest spr=new StringPostRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
show.setText(s);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) { }
});
spr.putHeader("apiKey","5b46143955a4b1ff1b470a94315625cd");
queue.add(spr);
}
public void getWeather(){
String url=UrlUtil.weatherUrl+"?location=yantai";
StringGetResquest sgr=new StringGetResquest(com.android.volley.Request.Method.GET,
url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
show.setText(s);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
show.setText(volleyError.getMessage());
}
});
sgr.putHaedlers("apikey","3f37b44e3115841957414d7c4bf6c0f5");
queue.add(sgr);
}
} 需要创建一个类来确定使用那种方法
public class StringGetResquest extends StringRequest{
private Map<String,String> header;
public StringGetResquest(int method, String url, Response.Listener<String> listener, Response.ErrorListener errorListener) {
super(method, url, listener, errorListener);
header=new HashMap<>();
}
public void putHaedlers(String key,String value){
header.put(key,value);
}
public Map<String,String> getHeaders() throws AuthFailureError{
return header;
}
}
基于Android_volley的Get、Post的方法的更多相关文章
- 基于redis的处理session的方法
一个基于redis的处理session的方法,如下. <?php class Session_custom { private $redis; // redis实例 private $prefi ...
- 基于Deep Learning 的视频识别方法概览
深度学习在最近十来年特别火,几乎是带动AI浪潮的最大贡献者.互联网视频在最近几年也特别火,短视频.视频直播等各种新型UGC模式牢牢抓住了用户的消费心里,成为互联网吸金的又一利器.当这两个火碰在一起,会 ...
- C# 7.0 新特性1: 基于Tuple的“多”返回值方法
本文基于Roslyn项目中的Issue:#347 展开讨论. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: ...
- 基于查表的整数霍夫变换方法实现(matlab)
暂时先用matlab把算法弄一下,这是基于查表的整数霍夫变换方法实现及解释. 接着再实现FPGA的霍夫变换. 霍夫变换原理和算法这里不多说,可参考以下链接: http://blog.csdn.net/ ...
- 基于git命令的代码统计方法
基于git命令的代码统计方法 没什么好说的,基于git log命令,使用前提是安装了git ...... .统计所有人代码量 统计所有人代码增删量,拷贝如下命令,直接在git bash等终端,git项 ...
- 基于MATLAB的多项式数据拟合方法研究-毕业论文
摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式 ...
- 华为基于策略划分VLAN的配置方法及示例
学过思科交换机的朋友,可能对基于策略划分VLAN的配置方法印象非常深,感觉确实比较复杂,先要配置VMPS以及VMPS数据库,但在华为交换机中,这种现象得到了彻底改变,因为它有了一种特殊的端口类型—— ...
- 一种基于uCos-II操作系统和lwIP协议栈的IEEE-1588主站以及基于该主站的报文处理方法
主站以及应用于电力系统的支持IEEE‐1588协议的主时钟(IEEE‐1588主站)的实现方法.该方法是在一个低成本的硬件平台上,借助uCos‐II操作系统和TCP/IP的协议栈,对以太网数据进行了分 ...
- 基于bs4库的HTML查找方法
基于bs4库的HTML查找方法 find_all方法 <>.find_all(name,attrs,recursive,string,**kwargs) 返回一个列表类型,内部存储查找的结 ...
- 使用基于Apache Spark的随机森林方法预测贷款风险
使用基于Apache Spark的随机森林方法预测贷款风险 原文:Predicting Loan Credit Risk using Apache Spark Machine Learning R ...
随机推荐
- Android UI基础教程 目录
从csdn下载了这本英文版的书之后,又去京东搞了一个中文目录下来.对照着看. 话说,这本书绝对超值.有money的童鞋看完英文版记得去买中文版的~~ Android UI基础教程完整英文版 pdf+源 ...
- 【POJ3691】 DNA repair (AC自动机+DP)
DNA repair Time Limit: 2000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Description B ...
- vijosP1901学姐的钱包
题目:https://vijos.org/p/1901 题解:这题比较有意思. 经过一番思考之后我想出了下面的算法: 我们反着来推,按i从大到小 f[i]表示从>=m到 i 需要多长时间,则如果 ...
- 【传】玩转Android---UI篇---ImageButton(带图标的按钮)
原文网址:http://hualang.iteye.com/blog/964049 除了Android系统自带的Button按钮一万,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首 ...
- 单独启动tomcat
原料: jdk-1_5_0_13-windows-i586-p.exe apache-tomcat-5.5.25.zip 安装jdk,路径为:C:\Program Files\Java\jdk1.5. ...
- HDU-2126 Buy the souvenirs
数组01背包. http://acm.hdu.edu.cn/showproblem.php?pid=2126 http://blog.csdn.net/crazy_ac/article/details ...
- main函数的3个参数
最早是在MCU中使用C语言,MCU中的main函数没有参数. 后来在PC上面使用C语言,一般教程都写的是main函数有2个参数: int main(int argc, const char **arg ...
- SDN基础理解
本文转载自:http://blog.csdn.net/freezgw1985/article/details/16873677 个人觉得对很适合对SDN的入门级的概念性理解,先暂时copy一下,等研究 ...
- 用java写随机出题
import java.io.*; //输入函数包 public class hello{ public static void main(String args[]){ String s=" ...
- c#基础语言编程-序列化
引言 程序员在编写应用程序的时候往往要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯.这个将程序数据转化成能被存储并传输的格式的过程被称为" ...