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 ...
随机推荐
- SqlServer int型转varchar型 出现*号
今天调一个bug,错误提示执行语句 * 附近有语法错误,看了存储过程半天没啥反应,我就更本没有* .打印了一下语句发现 where Mor_Id=* 仔细一看set @sqlupdate+=' whe ...
- [Nginx][HttpUpstreamModule]翻译负载均衡
英文原文地址:http://nginx.org/en/docs/http/ngx_http_upstream_module.html 大纲: 示例 指令 嵌入变量 ngx_http_upstream_ ...
- 你真的说的清楚ArrayList和LinkedList的区别吗
参见java面试的程序员,十有八九会遇到ArrayList和LinkedList的区别?相信很多看到这个问题的人,都能回答个一二.但是,真正搞清楚的话,还得花费一番功夫. 下面我从4个方面来谈谈这个问 ...
- echo
echo $echo [-e] [内容字符串]显示后面的内容,缺省选项表示将后面的内容原模原样的显示出来,如果后面接的字符串不用"",会默认以空格为分隔符输出多个串 可以配合She ...
- 复制文件的bat脚本
数据库备份到不同的机器上的一段脚本 使用系统的copy 命令来复制单个文件 如果要复制某个文件夹,则使用xcopy 命令 set date=%Date:~0,4%%Date:~5,2%%Date:~8 ...
- Python pass语句作用与用法
Python中的pass语句作用是什么?表示它不做任何事情,一般用做占位语句.pass语句具体作用及使用方法,我们往下看. pass语句在函数中的作用 当你在编写一个程序时,执行语句部分思路还没有完成 ...
- Linux环境安装MQ
MQ下载地址:http://www-03.ibm.com/software/products/us/en/wmq/ 安装的MQ软件包为WMQv600Trial-x86_linux_2.tar.gz. ...
- Spring @Transactional ——事务回滚
工作原理运行配置@Transactional注解的测试类的时候,具体会发生如下步骤1)事务开始时,通过AOP机制,生成一个代理connection对象,并将其放入DataSource实例的某个与Dat ...
- six month dormancy test
source data: accountleg year_month amount acc1A 2010-01 100 acc1A 2010-02 100 acc1 ...
- Design Pattern :Factory and Reflect in java
interface page { void Render(); } class pageA implements page { @Override public void Re ...