**注意**
1.首先将我们的Ksaop的Jar包放到当前工程下的libs包下。
2.要在AndroidManifast.Xml文件中配置文件,
public class MainActivity extends AppCompatActivity {
private Button onBut;
private EditText onEdit;
private TextView onTv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
}
public void initData(){
onBut = (Button) findViewById(R.id.onBut);
onEdit = (EditText) findViewById(R.id.onEdit);
onTv = (TextView) findViewById(R.id.onTv);
//监听
onBut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(){
@Override
public void run() {
super.run();
try {
//初始化输入框
String phone = onEdit.getText().toString();
//得到号码归属地
final String onphone = getPhone(phone);
runOnUiThread(new Runnable() {//主线程更新UI
@Override
public void run() {
onTv.setText(onphone);//初始化TextView
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
});
}
//具体实现
public String getPhone (String phone) throws Exception{
//本机地址
String service_url = "http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx";
//获得国内手机号码归属地等
String name_pace = "http://WebXml.com.cn/";
//具体请求的服务
String name_method = "getMobileCodeInfo";
//创建信封
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
//编写信件
SoapObject soapObject = new SoapObject(name_pace, name_method);
soapObject.addProperty("mobileCode",phone);
//把信的内容装到信封中
envelope.bodyOut = soapObject;
//设置跨语言的兼容性
envelope.dotNet = true;
//建立连接
HttpTransportSE httpTransportSE = new HttpTransportSE(service_url);
//发送请求
httpTransportSE.call(name_pace+name_method,envelope);
//服务器回应
if (envelope.getResponse() != null){
SoapObject result = (SoapObject) envelope.bodyIn;
//归属地
String medo = result.getProperty("getMobileCodeInfoResult").toString();
return medo;
}
return "";
}
}