ace布置小作业: 制作一个简单的电话号码归属地查询软件:JSON解析和Volly发送get请求



大概就这个样子
用到JSON解析和Volly发送Get请求两个知识点
关于Volly的用法请看我的这篇:
http://www.cnblogs.com/AceIsSunshineRain/p/5177713.html
JSON解析请看
http://www.cnblogs.com/AceIsSunshineRain/p/5178305.html
JSON数据是这样
{
"resultcode":"200",
"reason":"Return Successd!",
"result":{
"province":"河南",
"city":"安阳",
"areacode":"0372",
"zip":"455000",
"company":"中国移动",
"card":"移动全球通卡"
},
"error_code":0
}
下面看代码
MyApplication:
public class MyApplication extends Application {
private static RequestQueue mQueue;
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
mQueue = Volley.newRequestQueue(getApplicationContext());
}
public static RequestQueue getRequestQueue(){
return mQueue;
}
}
MainActivity
public class MainActivity extends Activity {
private TextView textView;
private Button button;
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.tv_show);
button = (Button) findViewById(R.id.button1);
editText = (EditText) findViewById(R.id.ed_query);
}
public void start(View view) {
sendStringGet();
}
public void sendStringGet() {
String number = editText.getText().toString();
String url = "http://apis.juhe.cn/mobile/get?phone=" + number + "&key=f64ff5c4c517da17761f112d6c3c0da0";
StringRequest mRequest = new StringRequest(Method.GET, url, new Listener<String>() {
private String province;
private String city;
private String company;
private String card;
@Override
public void onResponse(String arg0) {
// TODO Auto-generated method stub
JSONObject jsonObject;
try {
jsonObject = new JSONObject(arg0);
Log.d("ace", arg0);
String resultcode =jsonObject.getString("resultcode");
Log.d("ace", resultcode);
String reason =jsonObject.getString("reason");
int error_code =jsonObject.getInt("error_code");
if (error_code == 0) {
JSONObject result = jsonObject.getJSONObject("result");
province = result.getString("province");
city = result.getString("city");
company = result.getString("company");
card = result.getString("card");
textView.setText("您输入的手机号码归属地是:" + "\n" + province + city + company + card + "\n" + "查询成功");
}else if (error_code == 201102){
textView.setText("您输入的号码有误");
}else if (error_code == 201101){
textView.setText("请输入号码亲~");
}else if (error_code == 201103){
textView.setText("亲~ace查不到啊!");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError arg0) {
Toast.makeText(MainActivity.this, arg0.toString(), Toast.LENGTH_LONG).show();
textView.setText(arg0.toString());
}
});
MyApplication.getRequestQueue().add(mRequest);
}
}
ace布置小作业: 制作一个简单的电话号码归属地查询软件:JSON解析和Volly发送get请求的更多相关文章
- TensorFlow练习13: 制作一个简单的聊天机器人
现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google N ...
- 实例学习SSIS(一)--制作一个简单的ETL包
原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SS ...
- 手把手制作一个简单的IDEA插件(环境搭建Demo篇)
新建IDEA插件File --> new --> Project--> Intellij PlatForm Plugin-->Next-->填好项目名OK 编写插件新建工 ...
- PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例
前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...
- 如何使用AEditor制作一个简单的H5交互页demo
转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个 ...
- 制作一个简单的WPF图片浏览器
原文:制作一个简单的WPF图片浏览器 注:本例选自MSDN样例,并略有改动.先看效果: 这里实现了以下几个功能:1. 对指定文件夹下所有JPG文件进行预览2. 对选定图片进行旋转3. 对选定图片 ...
- 自己制作一个简单的操作系统二[CherryOS]
自己制作一个简单的操作系统二[CherryOS] 我的上一篇博客 自己制作一个简单的操作系统一[环境搭建], 详细介绍了制作所需的前期准备工作 一. 一点说明 这个操作系统只是第一步, 仅仅是开机显示 ...
- IOS开发之小实例--创建一个简单的用于视频录制和回放的应用程序
前言:还是看了一下国外的入门IOS文章:<Create a Simple App for Video Recording and Playback>,主要涉及视频录制和回放的功能的基本实现 ...
- Expression Blend4经验分享:制作一个简单的图片按钮样式
这次分享如何做一个简单的图片按钮经验 在我的个人Silverlight网页上,有个Iphone手机的效果,其中用到大量的图片按钮 http://raimon.6.gwidc.com/Iphone/de ...
随机推荐
- iOS之 随笔-静态库创建Xcode7
不多说直接上图 然后你就可以找到你的.a文件了还有你的头文件 在终端可以检查你所编译的静态库都支持什么架构(armv7,armv7s ,arm64)用这个命令 lipo -info 编译时候要看你Xc ...
- 关于EditText的一点深入的了解
最近在开发android下的记事本程序时,频繁的使用EditText控件,折腾来折腾去,算是对其的了解更深入了一些.特将这些收获记录如下: 一.几个属性的介绍 android:gravity=&quo ...
- Memcache限制端口和访问IP
Memcache安装十分简单,默认情况下是任何人都可以访问服务器上缓存的数据,所以如果不作处理的话 是很不安全的(乌云上已经提交有很多与此相关的问题) 1.首先要保证服务器上的防火墙都是开启的 2.设 ...
- Navicat for Mysql远程连接数据时报(1045错误)Access denied for user 'root'@'localhost' (using password yes);
原因:用户访问被拒绝,更改用户赋予密码即可 mysql命令行执行语句如下 //使用mysql,读取表信息 //更改用户赋予登录密码 //更新权限 注意点:使用flush privileges是为了刷新 ...
- 在VS项目中通过GIT生成版本号作为编译版本号
上一篇博客写了如何在 .Net 项目使用 SVN 作为版本控制工具时生成与代码对应的组件版本号.虽然在公司一直使用 SVN ,但我却对 GIT 情有独钟(可能要归功于那段捣鼓 ROM 的时光),但少有 ...
- 为什么QQ浏览器不是默认浏览器但是在打开网页的时候还是默认启动?
因需要浏览器兼容性测试装了一个QQ浏览器,我将火狐设为默认浏览器,但是每次打开连接的时候都是启动QQ浏览器. 出现这样的情况有以下两种可能:1.取消QQ为默认浏览器打开的设置项未成功,若需要取消QQ为 ...
- Same Tree
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...
- [转]ionic 通过PouchDB + SQLite来实现app的本地存储(Local Storage)
本文转自:http://www.cnblogs.com/ailen226/p/ionic.html 首先声明,本教程参考国外网站(http://gonehybrid.com/how-to-use-po ...
- Scanner类总结
1.构造器 Scanner(File source) Scanner(InputStream source) Scanner(String source) 参考:http://blog.sina.co ...
- 边工作边刷题:70天一遍leetcode: day 71
Longest Substring with At Most Two Distinct Characters # Given a string, find the length of the long ...