听说Volley框架非常好用,今天试了一下post请求,果然如此,因为我传的是json获取的也是json所以就写了一种关于json的请求,其实其他的代码都差不多.首先要先创建一个全局的变量,请求入队列使用代码如下:

public class MyApplication extends Application{
    public static RequestQueue requestQueue;
    //public static Context context;
    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
     requestQueue=Volley.newRequestQueue(getApplicationContext());
    }

public static RequestQueue getHttpRequestQueue(){
        return requestQueue;
    }
}

然后开始请求代码如下:

public class Volley {
    public String url="http://api.avatardata.cn/Joke/NewstJoke";
    String resultStr;
    Gson gson;
    public Volley(){
        volleyPost();
    }
    public void volleyPost(){
        StringRequest request=new StringRequest(Method.POST,url,new Listener<String>() {
            @Override
            public void onResponse(String response) {
                // TODO Auto-generated method stub
                //System.out.println(response.toString());
                resultStr=response.toString();
                Gson gson=new Gson();
                Idiom idiom=gson.fromJson(resultStr, Idiom.class);
                System.out.println(idiom);
            }
        }, new ErrorListener() {

@Override
            public void onErrorResponse(VolleyError error) {
                // TODO Auto-generated method stub
            //    System.out.println(error.toString());
                resultStr=error.toString();
            }
        }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                // TODO Auto-generated method stub
                Map<String,String> map=new HashMap<String, String>();
                map.put("key", "yourkey");
                map.put("dtype", "JSON");
                map.put("format", "true");
                map.put("page", "1");
                map.put("rows", "10");
                return map;
            }
            
        };
        MyApplication.getHttpRequestQueue().add(request);
    }
}

这样就可以轻松获取json数据。另外获取数据如何解析呢?  简单的json我们直接用android 里面的jsonObject就可以解决,但是稍微复杂一点,包含数组什么的那样的话会很麻烦,不要紧,可以用gson来进行json解析,就是把获取json串的字段全部封装到对象里面,遇到[ ]就用List,遇到{}就用对象来定义,一层层的封装,然后实例化gson,就可以很容易的获取到数据。

如下字符串,截取不完整:

好吧,就这样吧,需要代码的话可以找我。因为我比较懒,所以大家将就点吧,虽然不能看到详细的代码,但是方法还是很清楚的了解的。

一下是我封装的两个类

android Volley+Gson的使用的更多相关文章

  1. Android Volley和Gson实现网络数据加载

    Android Volley和Gson实现网络数据加载 先看接口 1 升级接口 http://s.meibeike.com/mcloud/ota/cloudService POST请求 参数列表如下 ...

  2. [Android]Volley的使用

    Volley是Google I/O 2013上提出来的为Android提供简单快速网络访问的项目.Volley特别适合数据量不大但是通信频繁的场景. 优势 相比其他网络载入类库,Volley 的优势官 ...

  3. Android Volley入门到精通:定制自己的Request

    经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest.JsonRequest.ImageRequest等.其中StringRequest用于请 ...

  4. Android Volley完全解析

    1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...

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

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

  6. Android Volley 之自定义Request

    转载标明出处:http://blog.csdn.net/lmj623565791/article/details/24589837 今天群里一哥们需要自定义Volley的Request的例子,于是产生 ...

  7. Android Volley 之自己定义Request

    转载标明出处:http://blog.csdn.net/lmj623565791/article/details/24589837 今天群里一哥们须要自己定义Volley的Request的样例,于是产 ...

  8. Android Volley彻底解决(三),定制自己Request

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17612763 经过前面两篇文章的学习,我们已经掌握了Volley各种Request ...

  9. Android Volley完全解析(三),定制自己的Request

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17612763 经过前面两篇文章的学习,我们已经掌握了Volley各种Request ...

随机推荐

  1. javascript实现数据结构: 树和二叉树的应用--最优二叉树(赫夫曼树),回溯法与树的遍历--求集合幂集及八皇后问题

    赫夫曼树及其应用 赫夫曼(Huffman)树又称最优树,是一类带权路径长度最短的树,有着广泛的应用. 最优二叉树(Huffman树) 1 基本概念 ① 结点路径:从树中一个结点到另一个结点的之间的分支 ...

  2. 2015年创新工场校园招聘软件研发岗位笔试题目——矩阵旋转

    题目要求:给出一个NxN的矩阵,写出程序将该矩阵进行顺时针旋转90度 // matrixrotation.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h ...

  3. Flexviewer使用Google地图作为底图

    Flexviewer使用Google地图作为底图: 在使用google地图作底图前提是你需要在Flex中实现加载google地图的代码(网上一大堆,随便找), 在只加载google地图的情况下,成功显 ...

  4. Android性能优化之渲染篇

    下面是渲染篇章的学习笔记,部分内容和前面的性能优化典范有重合,欢迎大家一起学习交流! 1)Why Rendering Performance Matters 现在有不少App为了达到很华丽的视觉效果, ...

  5. awk使用实例一则

    $META_DB -N -e "use web_boss_rainbow; select iDsId, sDbname, sHost, sPort, sNameServiceKey,sDri ...

  6. 第二次scrum冲击

    1.小组第二次冲刺任务及其完成情况描述. 本次冲刺我们小组经过讨论,实现的使我们爱上长大系统中的失物招领功能,由于在实际的实现中,对于本功能的逐渐深入和了解,渐渐发现这个功能实现起来需要由很多部分组成 ...

  7. SAP成都研究院许聚龙:Hello, Coresystems!

    Jerry的前一篇文章<SAP成都研究院数字创新空间沟通S/4HANA和C/4HANA的智能服务演示视频和Coresystems分享预告>已经提到,接下来会由SAP成都研究院数字创新空间的 ...

  8. 使用 Android 客户端向 Ruby on rails 构建的 Web Application 提交 HTTP GET 和 HTTP POST 请求

    最近想弄个能访问 Internet 的 Android 应用,因为求快所以用了 Ruby on Rails 来提供 HTTP 资源.这方面的资料还是比较少的,所以把尝试的过程记录下来. 1 使用 Ru ...

  9. C语言 条件编译(if )

    #include <stdio.h> #define NUM -1 int main(int argc, const char * argv[]) { #if NUM > 0 pri ...

  10. HDU 4757 Tree(可持续化字典树,lca)

    题意:询问树上结点x到结点y路上上的权值异或z的最大值. 任意结点权值 ≤ 2^16,可以想到用字典树. 但是因为是询问某条路径上的字典树,将字典树可持续化,字典树上的结点保存在这条路径上的二进制数. ...