Google官方网络框架Volley实战——QQ吉凶测试,南无阿弥陀佛!


这次我们用第三方的接口来做一个QQ吉凶的测试项目,代码依然是比较的简单

无图无真相

直接撸代码了,详细解释都已经写在注释里了

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><EditText
        android:id="@+id/et_qq"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:background="@drawable/whitebg"android:gravity="center"android:hint="请输入QQ号"android:lines="3"android:numeric="integer" /><Button
        android:id="@+id/btn_go"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="15dp"android:layout_marginTop="5dp"android:background="@drawable/graybg"android:text="求佛" /><TextView
        android:id="@+id/tv_conclusion"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="15dp"android:layout_marginBottom="5dp"android:layout_marginTop="5dp"android:text="结果"android:textSize="18sp" /><View
        android:layout_width="match_parent"android:layout_height="1dp"android:background="#fff" /><TextView
        android:id="@+id/tv_analysis"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="15dp"android:layout_marginTop="5dp"android:text="分析"android:textSize="18sp" /><com.lgl.qq.WaterRippleView
        android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1" ></com.lgl.qq.WaterRippleView></LinearLayout>

MainActivity

package com.lgl.qq;import org.json.JSONException;
import org.json.JSONObject;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;import com.android.volley.Request.Method;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.Response.Listener;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;public class MainActivity extends Activity implements OnClickListener {private EditText et_qq;private Button btn_go;private TextView tv_conclusion, tv_analysis;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {// 初始化控件et_qq = (EditText) findViewById(R.id.et_qq);btn_go = (Button) findViewById(R.id.btn_go);btn_go.setOnClickListener(this);tv_conclusion = (TextView) findViewById(R.id.tv_conclusion);tv_analysis = (TextView) findViewById(R.id.tv_analysis);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_go:if (et_qq == null) {Toast.makeText(MainActivity.this, "都不留个QQ号佛主怎么算尼?",Toast.LENGTH_LONG).show();} else {Volley_Get();}break;}}private void Volley_Get() {//获取到输入的QQ号String qq = et_qq.getText().toString();//第三方接口String url = "http://japi.juhe.cn/qqevaluate/qq?key=8d9160d4a96f2a6b5316de5b9d14d09d&qq="+ qq;RequestQueue queue = Volley.newRequestQueue(this);StringRequest request = new StringRequest(Method.GET, url,new Listener<String>() {// 成功@Overridepublic void onResponse(String json) {//Volley解析得到jsonVolley_Json(json);}}, new Response.ErrorListener() {// 失败@Overridepublic void onErrorResponse(VolleyError errorLog) {Toast.makeText(MainActivity.this,"失败:" + errorLog.toString(), Toast.LENGTH_LONG).show();}});queue.add(request);}//解析jsonprivate void Volley_Json(String json) {try {//获得JSONObject对象JSONObject jsonObject = new JSONObject(json);//解析resultJSONObject object = jsonObject.getJSONObject("result");//解析dataJSONObject object1 = object.getJSONObject("data");tv_conclusion.setText("结果:" + object1.getString("conclusion"));tv_analysis.setText("分析:" + object1.getString("analysis"));} catch (JSONException e) {Toast.makeText(MainActivity.this, "施主都不留个QQ号佛主怎么算尼?",Toast.LENGTH_LONG).show();e.printStackTrace();}}
}

这里有几点需要说明

1.项目中的水波纹特效请看:Android特效专辑(一)——水波纹过渡特效(首页)

2.项目中的Button样式:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" ><solid android:color="#ffDEDEDE" /><corners android:radius="2.0dp" />
</shape>

3.项目中的EditText样式

<?xml version="1.0" encoding="utf-8"?>
<shape
  xmlns:android="http://schemas.android.com/apk/res/android"><solid android:color="#ffffffff"/><corners android:radius="2.0dp"/>
</shape>

Demo下载:http://download.csdn.net/detail/qq_26787115/9397673

Google官方网络框架Volley实战——QQ吉凶测试,南无阿弥陀佛!相关推荐

  1. Google官方网络框架-Volley的使用解析Json以及加载网络图片方法

    Google官方网络框架-Volley的使用解析Json以及加载网络图片方法 Volley是什么?Google I/O 大会上,Google 推出 Volley的一个网络框架Volley适合什么场景? ...

  2. ym—— Android网络框架Volley(终极篇)

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103).谢谢支持! 没看使用过Volley的同学能够,先看看 Android网络框架Volley(体验篇) ...

  3. Android网络框架Volley项目实战-刘桂林-专题视频课程

    Android网络框架Volley项目实战-5257人已学习 课程介绍         使用Google 2013 I/O大会上发布的Volley请求框架做几个实战项目,归属地查询,QQ测试吉凶,天气 ...

  4. Android网络框架Volley的快速使用

    一.基本使用 之前做Android开发都是使用学长自己封装好的网络请求框架,第三方网络框架也很多,网上搜索了一下,大多数人推荐使用 android-async-http okhttp Volley 其 ...

  5. Android网络框架volley学习(一)基本用法

    记录学习Android网络基础框架volley的过程. 首先我们需要将volley下载下来导入Android Studio中,我学习一个开源库,最好的方式就是将其源码以module的方式依赖到工程中去 ...

  6. 网络框架Volley

    Vollet 不是android自带的框架 需要添加第三方的依赖   注重       implementation 'com.mcxiaoke.volley:library:1.0.19'      ...

  7. Android网络框架-Volley(一) 工作原理分析

    使用Volley可以让我们轻松访问网络,不用每次都要写大量重复的代码,而且它是异步的,不用我们再去写异步任务,这样代码非常简洁.还有很重要的一点,他还可以异步加载图片并且有缓存机制,防止OOM发生,V ...

  8. Android 网络通信框架Volley简介(Google IO 2013)

    Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v= ...

  9. Android 网络框架

    来源于:http://blog.csdn.net/t12x3456/article/details/9221611 Volley主页 https://android.googlesource.com/ ...

最新文章

  1. Xamarin.Forms中为WebView指定数据来源Source
  2. php 语法 条件变量,C ++核心准则:注意条件变量的陷阱
  3. Activiti数据库
  4. 你见过的最全面的 Python 重点
  5. 挖矿主板bios设置_挖矿板的核心功能是什么?竟是“BIOS”
  6. LeetCode 684. 冗余连接(并查集)
  7. centOS 搭建pipelineDB docs
  8. Facebook市值首次突破1万亿美元
  9. python中如何调用类takes no arguments_关于python中的 take no arguments 的解决方法
  10. python 爬虫_python爬虫技术汇总
  11. 推荐系统(Recommendation system )
  12. c语言程序设计一至六章测验,c语言程序设计1-6章.ppt
  13. C#中Panel控件和GroupBox控件(未完成)
  14. 4G模块Air720系列 android RIL驱动源码发布
  15. F轮融资3.6亿美元,Keep能撑起20亿美元的估值吗?
  16. 第十一届单片机蓝桥杯省赛(第一组)
  17. 计算机排版原理书籍,[电脑基础知识]计算机排版原理Word教案.doc
  18. 需要了解的常用Webpack插件配置-loader加载器
  19. CDH平台YARN日志查看和问题排查
  20. Java 利用Calender类制作日历,并且标注日期

热门文章

  1. 图神经网络基础--图结构数据
  2. Keras实例教程(3)
  3. CS61A Proj 4
  4. 数字图像处理课程实习——傅里叶变换与频域滤波
  5. 如何实现双向绑定?底层原理是什么?
  6. FTP上传下载工具(FlashFXP) v5.5.0 中文版
  7. PHP获取每个周五或周一的日期
  8. Java代码审计--checklist
  9. 什么是寄存器的recovery time和removal time?
  10. 【科普】微波雷达感应与人体红外感应的区别