大概就这个样子

用到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请求的更多相关文章

  1. TensorFlow练习13: 制作一个简单的聊天机器人

    现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google N ...

  2. 实例学习SSIS(一)--制作一个简单的ETL包

    原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SS ...

  3. 手把手制作一个简单的IDEA插件(环境搭建Demo篇)

    新建IDEA插件File --> new --> Project--> Intellij PlatForm Plugin-->Next-->填好项目名OK 编写插件新建工 ...

  4. PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例

    前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...

  5. 如何使用AEditor制作一个简单的H5交互页demo

    转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个 ...

  6. 制作一个简单的WPF图片浏览器

    原文:制作一个简单的WPF图片浏览器 注:本例选自MSDN样例,并略有改动.先看效果: 这里实现了以下几个功能:1.  对指定文件夹下所有JPG文件进行预览2.  对选定图片进行旋转3.  对选定图片 ...

  7. 自己制作一个简单的操作系统二[CherryOS]

    自己制作一个简单的操作系统二[CherryOS] 我的上一篇博客 自己制作一个简单的操作系统一[环境搭建], 详细介绍了制作所需的前期准备工作 一. 一点说明 这个操作系统只是第一步, 仅仅是开机显示 ...

  8. IOS开发之小实例--创建一个简单的用于视频录制和回放的应用程序

    前言:还是看了一下国外的入门IOS文章:<Create a Simple App for Video Recording and Playback>,主要涉及视频录制和回放的功能的基本实现 ...

  9. Expression Blend4经验分享:制作一个简单的图片按钮样式

    这次分享如何做一个简单的图片按钮经验 在我的个人Silverlight网页上,有个Iphone手机的效果,其中用到大量的图片按钮 http://raimon.6.gwidc.com/Iphone/de ...

随机推荐

  1. iOS网络-04-大文件下载

    大文件下载注意事项 若不对下载的文件进行转存,会造成内存消耗急剧升高,甚至耗尽内存资源,造成程序终止. 在文件下载过程中通常会出现中途停止的状况,若不做处理,就要重新开始下载,浪费流量. 大文件下载的 ...

  2. HTML页面定时跳转方法

    1)html的实现 <head> <meta http-equiv="refresh" content="5;url=hello.html"& ...

  3. chrome浏览器font-size<12px无效解决办法

    当样式设定font-size<12px时,chrome浏览器里字体显示仍为12px:如font-size:11px; 但是chrome还是12px的大小,很不听话. 今天我就遇到了这样的问题?网 ...

  4. ci 使用体会

    1.在git review后,必须前一天commit先merge后,下一个commit 才能merge,不然就会出现merge pending的状态. 2.jenkins的gerrit trigger ...

  5. Linux之格式化与挂载

    格式化与挂载 一块硬盘要想被使用,要经过分区,格式化,挂载这三个步骤.前面我们讲过MBR分区和GPT分区. 下面我们就来讲一下如果格式化一个分区.其实很简单,一句话就能搞定了. 首先来查看一下sdb盘 ...

  6. nodejs 安装及部署遇到的问题

    Error: ENOENT, stat 'C:\Users\PC_Name\AppData\Roaming\npm PC_Name是机器名 解决方法:在Roaming文件夹下创建一个叫npm的空文件夹 ...

  7. maven 的 pom.xml 文件报错:ArtifactTransferException: Failure to transfer

    因为maven下载依赖jar包时,特别慢,所以取消了下载过程,再次打开eclipse时,maven的pom.xml文件报错如下: ArtifactTransferException: Failure ...

  8. 怎么直接让火狐输入json数据,而不是弹出文件保存对话框?

    一.问题再现: 我需要浏览器输出的是json数据,但是浏览器弹出的是一个文件保存的对话框,这样的体验有点差.所以想怎么让浏览器直接输出到浏览器的页面上面,并且格式的输出,还可以编辑. 测试数据: ht ...

  9. 解决在iOS8环境下,当用户关闭定位服务总开关时,无法将APP定位子选项加入定位权限列表的问题

    关键点:- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizati ...

  10. web.xml文件报错:The processing instruction target matching "[xX][mM][lL]" is not allowed.

    昨晚把我的项目上传到了gitlab,然后今天在公司从gitlab下载下来, 发现web.xml报错.