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 = \"/d/file/gt/2023-12/nl31qba54xm 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特效专辑(一)——水波纹过渡特效(首页)](http://blog.csdn.net/qq_26787115/article/details/50439020)
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
QQ号码测情感,你们觉得靠谱么?
号码吉凶剖析:雨夜之花,外祥内苦,忍受自重,转凶为吉
QQ号码尾数:2
主人性情类型:[不善表达/猜疑大型],其具体表现为:在乎身边各人对自己的评估及观感,不善表达个人情感,是个先考虑别人感触,再作出相应合作的内敛一族。关于爱侣,常常存有置疑之心。
号码吉凶剖析:绵绣前程,须靠自力,多用谋略,能奏大功 吉
QQ号码尾数:4
主人特性剖析:主人性情类型:[斗胆行事激动派型],其具体表现为:喜爱寻找影响,有不睬结果斗胆行事的倾向。崇尚自在豪放的爱情,会拼尽全力爱一场,是就算明知无结果都在所不惜的激动派。
号码吉凶剖析:天分吉运,能得人望,善用才智,必获成功 吉
QQ号码尾数:6
主人特性剖析:主人性情类型:[干事喜爱凭直觉型],其具体表现为:有特强的第六创意,性情率直无机心,深得朋辈敬爱。豪情路上多采多姿。干事喜爱凭个人直觉及预见做决议。
号码吉凶剖析:池中之龙,风云际会,一跃上天,成功可望 吉
QQ号码尾数:8
主人性情类型:[自我牺牲/性情被迫型],其具体表现为:惯于无条件支付,从不请求有报答,有为了满足别人不惜牺牲自己的情但讲到自身的爱情观,却流于被迫,往往由于内敛而错失大好姻缘。
主人特性剖析:安泰自来,自然吉利,力行不懈,终必成功
QQ号码尾数:0
主人特性剖析:主人性情类型:[干事喜爱凭直觉型],其具体表现为:有特强的第六创意,性情率直无机心,深得朋辈敬爱。豪情路上多采多姿。干事喜爱凭个人直觉及预见做决议。