1.用到的jar包为:ksoap2-android-assembly-2.4-jar-with-dependencies.jar

2.效果

3.代码:

注意:

a.因为android4.0以后不能在主线程中进行http请求,所以需要在Acitivity的onCreate函数中添加以下代码

      if (Build.VERSION.SDK_INT >= 11) {StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads     ().detectDiskWrites().detectNetwork().penaltyLog().build());StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());}

b.在AndroidManifest中添加访问网络的权限和修改最低版本

    <uses-sdkandroid:minSdkVersion="11"android:targetSdkVersion="17" /><uses-permission android:name="android.permission.INTERNET"></uses-permission>

activity_main.xml代码如下:

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><EditTextandroid:id="@+id/editTextNum"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:layout_marginTop="32dp"android:ems="10" ><requestFocus /></EditText><Buttonandroid:id="@+id/btnSearch"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignLeft="@+id/editText1"android:layout_below="@+id/editTextNum"android:layout_marginTop="42dp"android:text="查询" /><TextViewandroid:id="@+id/textViewResult"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignLeft="@+id/btnSearch"android:layout_centerVertical="true"android:text=""android:textAppearance="?android:attr/textAppearanceMedium" /></RelativeLayout>

MainActivity.java代码:

package cuit.edu.searchphonedemo;import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;import android.os.Build;
import android.os.Bundle;
import android.os.StrictMode;
import android.app.Activity;
import android.view.Menu;
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;public class MainActivity extends Activity {private Button searchButton;private EditText numEditText;private TextView resultTextView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);searchButton = (Button)findViewById(R.id.btnSearch);numEditText = (EditText)findViewById(R.id.editTextNum);resultTextView = (TextView)findViewById(R.id.textViewResult);searchButton.setOnClickListener(new SearchBtnOnclickListener());if (Build.VERSION.SDK_INT >= 11) {StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads     ().detectDiskWrites().detectNetwork().penaltyLog().build());StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}class SearchBtnOnclickListener implements OnClickListener{@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubString phoneNum = numEditText.getText().toString().trim();if ("".equals(phoneNum) || phoneNum.length() < 7) {// 输入的不合规范Toast.makeText(getApplicationContext(), "输入手机号不合规范!",Toast.LENGTH_LONG).show();numEditText.requestFocus();return;}resultTextView.setText(getRemoteInfo(phoneNum));}}public String getRemoteInfo(String phoneSec) {// 命名空间String nameSpace = "http://WebXml.com.cn/";// 调用的方法名称String methodName = "getMobileCodeInfo";// EndPointString endPoint = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx";// SOAP ActionString soapAction = "http://WebXml.com.cn/getMobileCodeInfo";// 指定WebService的命名空间和调用的方法名SoapObject rpc = new SoapObject(nameSpace, methodName);// 设置需调用WebService接口需要传入的两个参数mobileCode、userId,不可以随便写,必须和提供的参数名相同rpc.addProperty("mobileCode", phoneSec);rpc.addProperty("userId", "");// 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);envelope.bodyOut = rpc;// 设置是否调用的是dotNet开发的WebServiceenvelope.dotNet = true;// 等价于envelope.bodyOut = rpc;envelope.setOutputSoapObject(rpc);HttpTransportSE transport = new HttpTransportSE(endPoint);try {// 调用WebServicetransport.call(soapAction, envelope);} catch (Exception e) {e.printStackTrace();}// 获取返回的数据SoapObject object = (SoapObject) envelope.bodyIn;// 获取返回的结果String result = object.getProperty("getMobileCodeInfoResult").toString();return result;}
}

android 调用webservice实现手机号码归属地查询相关推荐

  1. WebService开发--手机号码归属地查询和天气预报查询

    序言: 在很多站点网页的最上方,我们经常会看到一个非常人性化的设计---天气预报.在一些网站上,我们输出一个手机号码,就能查出这个号码的归属地.虽然功能看起来不是特别复杂,但是要收集大量的数据.对于一 ...

  2. 14.4 手机号码归属地查询

    手机号码归属地查询 MobileAddressQuery Android通过调用Webservice实现手机号码归属地查询 注:http://webservice.webxml.com.cn/WebS ...

  3. Android 调用webservice(ksoap-2-Android)手机号码归属地查询

    之前做过一次但是隔了一个月再做就有点忘了,果然好记性不如烂笔头!还是打算记一下. 现在网络上的一些有关这方面的文章都比较久远了虽然方法没错但是之前的网址都变了所以需要进行一些修改. 记录时间2016/ ...

  4. Android 简单几步实现手机号码归属地查询,可监听文本框的变化自动查询

    2019独角兽企业重金招聘Python工程师标准>>> 手机号码归属地查询需要用到一个数据库文件,我们可以用小米公司的数据库文件 第一步:数据库文件存储在 data/data/包名/ ...

  5. 调用聚合数据API实现手机号码归属地查询

    调用聚合数据API实现手机号码归属地查询 1.作者介绍 2.相关介绍 2.1 什么是聚合数据? 2.2 API介绍 2.3 手机号码归属地 3.实验过程 3.1如何调用聚合数据API 3.2代码实现 ...

  6. Android:实现简单的手机号码归属地查询功能

    最近学习Android访问网络资源的相关知识,然后实现了一个简单的手机号码归属地功能,特此记录一下. 一.主界面Activity实现 主界面的编写很简单,只是添加了一个EditText用于输入电话号码 ...

  7. 老菜鸟迈出的第一步——Android调用WebService碰到的种种问题

    首先声明本人是个菜鸟,菜到什么程度?我马士兵的java教学视频javase部分还没看完,郭霖的<第一行代码>我才看了不超过20页.就是这样的菜鸟以一个企业网管的身份接到了经理给我出的练习题 ...

  8. Android基础入门教程——7.4 Android调用WebService

    Android基础入门教程--7.4 Android调用WebService 标签(空格分隔): Android基础入门教程 本节引言: 经过前面的学习,数据请求,数据解析,文件上传下载等,应该满足大 ...

  9. python手机版代码-Python手机号码归属地查询代码

    简单的一个例子,是以前用Dephi写的,前不久刚实现了一个在Python中使用Delphi控件来编写界面程序,于是趁热写一个类似的的查询方案. 本实例是通过www.ip138.com这个网站来查询的, ...

  10. 【原创】Java实现手机号码归属地查询

    网络上已经有很多的手机号码归属地查询的API接口,但是这些接口总是有一些大大小小的缺陷. 总结一下这些缺陷: 1.要直接将它的搜索框链接形式粘到自己的页面,点击查询的时候还要跳转到他们的网站来展示归属 ...

最新文章

  1. 用时间换才华:李开复给创业者的7条时间管理建议 【转载】
  2. 网站优化关键词如何分类看好这四种!
  3. centos 安装 redmine 2.6.0.stable
  4. 新闻发布项目——业务逻辑层(UserService)
  5. JBOSS内存溢出处理
  6. 浅谈Java中的hashcode方法
  7. JS实现透明度渐变动画
  8. docker commit 制作镜像
  9. 统计学习(一):数据的组织和表示
  10. 网络安全:个人网站防黑安全技巧
  11. MapBar纯绿色桌面版:小M
  12. Java 加密解密工具类 数据加密后如何查询
  13. TRANSCAD基础技巧——OD矩阵生成
  14. 中小学语文80个常用成语,附故事讲解,孩子写作必备素材!
  15. python程序设计,猜数游戏编程实践课程实验
  16. Android高手笔记 - IO优化
  17. H.264 入门篇 - 00 (简介)
  18. 使用css3 filter属性实现图片毛玻璃效果
  19. 知识图谱嵌入的Translate模型汇总(TransE,TransH,TransR,TransD)
  20. 【原创】终结选择困难,Xshell、MobaXterm、PuTTY、SecureCRT 多款 SSH 终端软件该怎么选

热门文章

  1. 闪耀在 UNIX 传奇往事中的启示, UNXI 见证者带你一览究竟
  2. Tomcat 开启APR运行模式
  3. 利用python写出德州扑克小游戏
  4. 关于局域网的一点个人理解及如何建立一个局域网的步骤
  5. Pyecharts+高德地图实现3D地图效果
  6. 2022-2028年中国中频加热设备行业市场发展调研及未来前景规划报告
  7. Android studio emulator Terminated
  8. 应届生,一口气拿下微软、Hulu、Amazon、腾讯、百度、网易、美团、华为等18家公司SP Offer面经...
  9. Laravel 登录验证,md5验证,自定义验证,自定义表
  10. 雅虎微软交易局中局:巴茨开始绝望主妇式攻击