Google官方网络框架Volley实战——QQ吉凶测试,南无阿弥陀佛!
来源:互联网 发布:ubuntu 16.04宽带连接 编辑:程序博客网 时间:2024/04/27 17:22
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; @Override protected 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); } @Override public 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>() { // 成功 @Override public void onResponse(String json) { //Volley解析得到json Volley_Json(json); } }, new Response.ErrorListener() { // 失败 @Override public void onErrorResponse(VolleyError errorLog) { Toast.makeText(MainActivity.this, "失败:" + errorLog.toString(), Toast.LENGTH_LONG) .show(); } }); queue.add(request); } //解析json private void Volley_Json(String json) { try { //获得JSONObject对象 JSONObject jsonObject = new JSONObject(json); //解析result JSONObject object = jsonObject.getJSONObject("result"); //解析data JSONObject 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
1 2
- Google官方网络框架Volley实战——QQ吉凶测试,南无阿弥陀佛!
- 对Android官方网络框架——volley的封装
- 南无阿弥陀佛是什么意思?
- 南无阿弥陀佛
- ym—— Android网络框架Volley(实战篇)
- 南无阿弥陀佛是什么意思呢
- Google官方网络框架-Volley的使用解析Json以及加载网络图片方法
- Google官方网络框架-Volley的使用解析Json以及加载网络图片方法
- Google官方推荐的通信框架Volley
- Google官方的UI自动化测试框架—— Espresso
- android之官方网络通信框架volley
- Google开源 Volley 网络框架使用
- (转)ym—— Android网络框架Volley(实战篇)
- Android网络框架Volley(实战篇)
- Android网络框架Volley(实战篇)
- Android网络框架Volley(实战篇)
- Android网络框架Volley(实战篇)
- 南无阿弥陀佛,教师节快乐,老婆生日快乐...
- Codeforces 615B Longtail Hedgehog (Round #338 (Div. 2) B题)
- 蓝懿ios技术交流和心得分享16.1.9
- jupyter notebook win7下工作路径设置方法
- Codeforces Round #338 (Div. 2) C. Running Track(dp + kmp)
- Ubutu root 默认密码(密码更改)
- Google官方网络框架Volley实战——QQ吉凶测试,南无阿弥陀佛!
- android系统长按的定义
- 控制viewpage的线程和更新listview的线程
- ESP8266作为服务器配置方法
- NSUserDefaults的使用
- asp.net服务器控件与html服务器控件的区别
- Tomcat启动分析
- <LeetCode OJ> 3. Longest Substring Without Repeating Characters
- Asp.net控件之异同:HTML控件与Web服务器控件