JSON与聚合数据不解之缘二

之前有时在QQ控件看到很多人在测试QQ测吉凶,虽然已经很久了,相信有些小伙伴还是想知道原理,其实很简单用聚合数据实现,请求参数就一个QQ号码,然后申请一个key就搞定。之后将json数据解析之后显示在UI上完成!下面进入Our Topic!
首先说下QQ号码测吉凶
APPKEY:82455b19e0dcdcf634a3b68ab52ce124
接口:http://japi.juhe.cn/qqevaluate/qq?key=82455b19e0dcdcf634a3b68ab52ce124&qq="+qq;

请求参数如下图一个key string类型 必填项 另外一个是qq string类型,也是必填项
这里写图片描述

得到的json如下图所示
![json数据]

这里写图片描述

测试接口数据
这里写图片描述
![这里写图片描述]

下面要做一些准备工作我们需要两个jar包一个是网络[Volley](https://github.com/adamrocker/volley )
需要下载点击此链接,本着开源的精神免费哈!
下面进入主题首先获取手机号码然后显示手机归属地信息
具体代码如下

/**
*get请求方式
/*
 private void Volley_Get() {
 //获取输入框的QQ号
 qq=et_phoneNum.getText().toString().trim();
 //请求的url
String qqUrl="http://japi.juhe.cn/qqevaluate/qq?key=82455b19e0dcdcf634a3b68ab52ce124&qq="+qq;
  	  //创建一个新的请求
       mRequestQueue = Volley.newRequestQueue(this);
       //请求方式为get url 成功返回数据 失败返回错误信息
       StringRequest request = new StringRequest(Method.GET, postUrl,
                new Response.Listener<String>() {
                    // 成功返回json数据
                    @Override
                    public void onResponse(String json) {
                        Log.i("Json", json);
                        Volley_Json(json);
                    }
                }, new Response.ErrorListener() {
            // 失败返回错误信息
            @Override
            public void onErrorResponse(VolleyError errorLog) {
                Log.e("Error", errorLog.toString());
            }
        });
        //将请求队列添加进来
       mRequestQueue.add(request);
    }
    请求测试接口如下图所示请求成功返回信息
   ![这里写图片描述](https://img-blog.csdn.net/20161010005546697)
   效果图
   

 将解析json数据显示到TextView中去
 private void Volley_JsonQQ(String json) { 
	   try {
	          JSONObject jsonObject = new JSONObject(json);
	          JSONObject jsonObject2 = jsonObject.getJSONObject("result");
	          JSONObject jsonObject3 = jsonObject2.getJSONObject("data");
	              tv_result.setText("征兆:"+jsonObject3.getString("conclusion").toString()+"\n"+"分析:"+jsonObject3.getString("analysis"));
	      } catch (JSONException e) {
	          // TODO Auto-generated catch block
	          e.printStackTrace();
	      }
	  }

   

效果如下图
![这里写图片描述]这里写图片描述
注意点:注册访问的网络权限;Android中UI线程不能有访问网络的操作,否则会报android.os.NetworkOnMainThreadException的异常

最后一步别忘加添加网络权限<uses-permission android:name="android.permission.INTERNET"/>

转载请注明出处!欢迎装载!谢谢!同时需要学习的童鞋扫码加群!
疯狂Android进阶之旅

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值