热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Android编程实现号码归属地查询的方法

这篇文章主要介绍了Android编程实现号码归属地查询的方法,涉及Androidxml文件的发送及WebService的操作技巧,需要的朋友可以参考下

本文实例讲述了Android编程实现号码归属地查询的方法。分享给大家供大家参考,具体如下:

我们通过发送XML访问 WebService就可以实现号码的归属地查询,我们可以使用代理服务器提供的XML的格式进行设置,然后请求提交给服务器,服务器根据请求就会返回给一个XML,XML中就封装了我们想要获取的数据。

发送XML

1.通过URL封装路径打开一个HttpURLConnection

2.设置请求方式,Content-Type和Content-Length

XML文件的Content-Type为:application/soap+xml; charset=utf-8

3.使用HttpURLConnection获取输出流输出数据

WebService

1.WebService是发布在网络上的API,可以通过发送XML调用,WebService返回结果也是XML数据

2.WebService没有语言限制,只要可以发送XML数据和接收XML数据即可

3.http://www.webxml.com.cn/网站上提供了一些WebService服务,我们可以对其进行调用

4.http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo中提供了电话归属地查询的使用说明

效果图:

核心代码:

public class XmlService {
  public String query(String num) throws Exception {
    InputStream in = this.getClass().getClassLoader().getResourceAsStream("query.xml");
    byte[] data = LoadUtils.load(in);
    String xml = new String(data);
    //替换
    xml = xml.replace("#", num);
    byte[] sendData = xml.getBytes("UTF-8");
    //发送到代理的地址上
    URL url = new URL("http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx");
    HttpURLConnection cOnn= (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-Type", "application/soap+xml; charset=utf-8");
    conn.setRequestProperty("Content-Length", String.valueOf(sendData.length));
    //将请求的xml发送出去
    conn.setDoOutput(true);
    conn.getOutputStream().write(sendData);
    //获取从服务器传回来的数据
    if (conn.getResponseCode() == 200)
      return parse(conn.getInputStream());
    return null;
  }
  //解析流拿到getMobileCodeInfoResult中的数据
  private String parse(InputStream inputStream) throws Exception {
    XmlPullParser parser = Xml.newPullParser();
    parser.setInput(inputStream, "UTF-8");
    //查找getMobileCodeInfoResult标签,获取标签中的数据
    for (int event = parser.getEventType(); event != XmlPullParser.END_DOCUMENT; event = parser.next())
      switch (event) {
        case XmlPullParser.START_TAG:
          if ("getMobileCodeInfoResult".equals(parser.getName()))
            return parser.nextText();
      }
    return null;
  }
}

发送的xml封装了电话号码(query.xml):

<&#63;xml version="1.0" encoding="utf-8"&#63;>

 
  
   #
   
  
 


希望本文所述对大家Android程序设计有所帮助。


推荐阅读
  • 主调|大侠_重温C++ ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • ArcXML:互联网空间数据交换的专用语言
    ArcXML是一种专为ArcIMS平台设计的数据交换协议,基于XML标准,用于在不同组件之间传输和描述地理空间数据。本文将详细介绍ArcXML的背景、用途及其与XML的关系。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 本文详细介绍了 Android 开发中 layout_gravity 属性的使用方法及其在不同布局下的效果,旨在帮助开发者更好地理解和利用这一属性来精确控制视图的布局。 ... [详细]
  • 本文深入探讨了 Exchange Server 2010 中客户端访问的代理和重定向机制,特别是在跨站点环境中如何配置这些功能以确保用户能够顺利访问邮箱服务。通过详细解析不同场景下的应用,帮助管理员更好地理解和实施相关设置。 ... [详细]
  • 本文介绍了如何通过在数据库表中增加一个字段来记录文章的访问次数,并提供了一个示例方法用于更新该字段值。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Servlet过滤器入门:实现与配置
    本文介绍如何在Java Web应用中实现和配置Servlet过滤器,通过实现`javax.servlet.Filter`接口来创建过滤器,并详细说明其在web.xml文件中的配置方法。 ... [详细]
  • 本文详细介绍了JSP(Java Server Pages)的九大内置对象及其功能,探讨了JSP与Servlet之间的关系及差异,并提供了实际编码示例。此外,还讨论了网页开发中常见的编码转换问题以及JSP的两种页面跳转方式。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
author-avatar
Jen覀nyfraaaaa-v-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有