---恢复内容开始---

Volley优缺点:除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。

在对服务器进行请求的时候有三种对象可以选择:

StringRequest 这种情况的应用场景是不知道是下面哪个对象传进来的时候用。

JsonObjectRequest 确定是JsonObjectRequest 使用

JsonArrayRequest 确定是JsonArrayRequest 使用

---------------------------------------------------------

使用Volley的步骤

1. 创建一个RequestQueue对象。

package com.example.voll;import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;import android.app.Application;public class MyApplication extends Application {// 建立队列private static RequestQueue queue;// 程序主入口
    @Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();queue = Volley.newRequestQueue(getApplicationContext());}// 静态方法返回队列public static RequestQueue getHttpQueue() {return queue;}
}

然后在清单文件进行配置name

    <applicationandroid:name="com.example.voll.MyApplication"android:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" >

2. 创建一个StringRequest对象。

3. 将StringRequest对象添加到RequestQueue里面。

// 添加到tag和队列request.setTag("getjsonMethod");MyApplication.getHttpQueue().add(request);

--------------------------------------------------------------------------------------------------------------------------------------------------------

我们来看第二步的方式,

StringRequest 的get请求

String url = "http://192.168.0.103:8080/json/servlet/JsonAction?flag=listmap";StringRequest request = new StringRequest(Method.GET, url,// 请求成功调用new Listener<String>() {@Overridepublic void onResponse(String arg0) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, arg0, 0).show();}},// 请求失败调用new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError arg0) {Toast.makeText(MainActivity.this,"错误信息" + arg0.toString(), 0).show();}});// 添加到tag和队列request.setTag("getMethod");MyApplication.getHttpQueue().add(request);

StringRequest 的post请求

    private void volleyStringPost() {String url = "http://192.168.0.110:8080/json/servlet/JsonAction";StringRequest stringPost = new StringRequest(Method.POST, url,new Listener<String>() {@Overridepublic void onResponse(String arg0) {Toast.makeText(MainActivity.this, arg0, 0).show();}}, new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError arg0) {Toast.makeText(MainActivity.this, arg0.toString(), 0).show();}}) {// 因为post请求不能在url里直接写出,所以这里要写这个方法来获取参数
            @Overrideprotected Map<String, String> getParams() throws AuthFailureError {// TODO Auto-generated method stubMap<String, String> map = new HashMap<String, String>();map.put("flag", "listmap");return map;}};stringPost.setTag("StringPost");MyApplication.getHttpQueue().add(stringPost);}

JsonObjectRequest get请求

    private void volleyJsonGet() {String url = "http://192.168.0.103:8080/json/servlet/JsonAction?flag=listmap";JsonObjectRequest request = new JsonObjectRequest(Method.GET, url,null, new Listener<JSONObject>() {@Overridepublic void onResponse(JSONObject arg0) {// TODO Auto-generated method stubtry {JSONArray jsonArray = arg0.getJSONArray("listmap");Toast.makeText(MainActivity.this,jsonArray.get(0).toString(), 0).show();} catch (JSONException e) {// TODO Auto-generated catch block
                            e.printStackTrace();}}}, new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError arg0) {// TODO Auto-generated method stub
}});// 添加到tag和队列request.setTag("getjsonMethod");MyApplication.getHttpQueue().add(request);}

JsonObjectRequest post请求

转载于:https://www.cnblogs.com/84126858jmz/p/5126994.html

Volley框架学习相关推荐

  1. 从源码角度学习Volley框架

    转载请标明出处:http://blog.csdn.net/newhope1106/article/details/53615398 虽然网上有很多文章是分析Volley框架的,不过博客的作用,一个是让 ...

  2. Android Volley框架的使用(二)

     此博文源码下载地址  https://github.com/Javen205/VolleyDemo.git 使用请求队列RequestQueue Volley中的Request都需要添加到Reque ...

  3. volley 框架的使用

    由于最近公司的项目已经结束,所以本菜鸟有大把的时间去总结和学习一些东西,最近在了解一个volley框架,是一个求情网络数据跟网络图片的框架,优点呢有 JSON,图像等的异步下载: 网络请求的排序(sc ...

  4. Transmitting Network Data Using Volley(使用Volley框架传输网络数据)

    前面看了某大神关于Volley框架的文章,难怪说不要国内的技术文章,看了Google的官方文档,我才知道,心目中的大神还是有很多不足的地方.所以,对着英文,自己学习下. Volley is an HT ...

  5. Volley框架简介

    一.引言 虽然网上已经有很多大神.高手都写过了类似的帖子,但作为新人,必须要走模仿的道路,再考虑超越,因此学习大神的笔记,记录自己的理解,是一个菜鸟走向成功的必经之路啊.如签名所言,记录自己摸爬滚打的 ...

  6. jQuery框架学习第二天:jQuery中万能的选择器

    jQuery框架学习第一天:开始认识jQuery jQuery框架学习第二天:jQuery中万能的选择器 jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQu ...

  7. ssm框架requestmapping找不到_框架学习,就是介么简单

    框架学习 程序员凯小白 最近实训ssm框架,SSM框架,是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大 ...

  8. rose框架学习总结

    rose框架学习总结 rose框架为paoding rose框架 具体可见https://code.google.com/p/paoding-rose/ 1   对rose框架的整体认识 1.1B/S ...

  9. Hadoop学习笔记—18.Sqoop框架学习

    Hadoop学习笔记-18.Sqoop框架学习 一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据 ...

最新文章

  1. python网络爬虫---selenium的使用
  2. Nginx如何反向代理网站和设置虚拟主机
  3. Ubuntu 开机自动执行脚本
  4. Android图片粘上后仍错误,android – 在Activity被销毁后,ImageView上的图像丢失了
  5. js 技巧杂引(转)
  6. java hotspot 是什么_什么是HotSpot
  7. 没有android:padding属性,android自定义无上下padding的textview
  8. python专业方向 | 文本相似度计算
  9. iOS开发值多线程简单介绍
  10. dnf服务器运行库,游戏运行库|3DM游戏必备运行库合集安装包(史上最全) V3.0
  11. mysql 查询替换语句_MYSQL查询字符替换sql语句
  12. 施耐德 m340 编程手册_施耐德电气自动化软件汇总
  13. Python实现基于卷积神经网络的LSB算法进行信息隐藏隐写分析
  14. rpm -ivh *rpm 是什么意思
  15. 旭阳集团锚定“2025” 企业卓越运营让信息化来帮忙
  16. 云编译DSM引导(学习记录)
  17. OCR论文阅读笔记01--multi-oriented scence text detection via corner localization and regin segmentation
  18. Java迷你共享单车系统(面向对象作业)
  19. cenos需要注意的小功能
  20. MeEdu开源网校系统-手动安装教程(完整版)

热门文章

  1. (八)java版spring cloud+spring boot 社交电子商务平台-消息总线(Spring Cloud Bus)
  2. ORACLE同步数据库之,自动生成sequence 文件
  3. 《拥抱变化——社交网络时代的企业转型之道》一构筑社会信任
  4. day22 案例 发送邮箱激活码 购物车 分析
  5. javascript小实例,PC网页里的拖拽(转)
  6. 图像滤波与OpenCV中的图像平滑处理
  7. vim学习第2篇:配置自己的vimrc
  8. iphone popViewControllerAnimated后刷新原先的表格
  9. Google 选择 Jetty 放弃 Tomcat
  10. 互联网公益平台米多乐获近千万天使轮融资,熊猫资本投资...