1. 查手机号
public class MainActivity extends Activity { private EditText et; private TextView tv; protected String num; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button)this.findViewById(R.id.btn); et=(EditText)this.findViewById(R.id.et); tv=(TextView)this.findViewById(R.id.tv); btn.setonClickListener(new OnClickListener() { @Override public void onClick(View v) { num=et.getText().toString().trim(); if("".equals(num) || num.length()<7){ et.setError("您输入的手机号码有误"); et.requestFocus(); tv.setText(""); return; } new Thread(new Runnable() { @Override public void run() { //查询手机号码 getRemoteInfo(num); } }).start(); } }); } //手机号段归属地查询 protected void getRemoteInfo(String num) { String nameSpace="http://WebXml.com.cn/"; //命名空间 String methodName = "getMobileCodeInfo"; //接口的方法名 String endPoint = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx"; String soapAction = "http://WebXml.com.cn/getMobileCodeInfo"; // SOAP Action // 指定WebService的命名空间和调用的方法名 SoapObject rpc = new SoapObject(nameSpace,methodName); // 设置需调用WebService接口需要传入的两个参数mobileCode、userId rpc.addProperty("mobileCode",num); rpc.addProperty("userId",""); // 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10); envelope.bodyOut=rpc; // 设置是否调用的是dotNet开发的WebService envelope.dotNet = true; // 等价于envelope.bodyOut = rpc; envelope.setoutputSoapObject(rpc); HttpTransportSE transport = new HttpTransportSE(endPoint); // 调用WebService try { transport.call(soapAction,envelope); } catch (IOException e) { e.printstacktrace(); } catch (XmlPullParserException e) { e.printstacktrace(); } // 获取返回的数据 getMobileCodeInfoResponse{getMobileCodeInfoResult=15010388992:北京 北京 北京移动全球通卡; } SoapObject object = (SoapObject) envelope.bodyIn; // 获取返回的结果 String result = object.getProperty(0).toString(); // 将WebService返回的结果显示在TextView中 System.out.println(object.toString()+""); Message msg=Message.obtain(); msg.what=1; Bundle bundle=new Bundle(); bundle.putString("msg",result); msg.setData(bundle); handler.sendMessage(msg); } Handler handler=new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1: String result=msg.getData().getString("msg"); tv.setText(result); break; default: break; } }; }; }
2 天气
public class WeatherUI extends Activity { private static final String NAMESPACE = "http://WebXml.com.cn/"; private static String endPoint = "http://www.webxml.com.cn/webservices/weatherwebservice.asmx"; private String methodName = "getWeatherbyCityName"; //接口的方法名 private String soapAction = "http://WebXml.com.cn/getWeatherbyCityName"; // SOAP Action private EditText weather_et; private TextView weather_tv; private String weatherToday; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.weather); weather_et =(EditText)this.findViewById(R.id.weather_et); weather_tv =(TextView)this.findViewById(R.id.weather_tv); this.findViewById(R.id.weather_btn).setonClickListener(new OnClickListener() { @Override public void onClick(View v) { String str=weather_et.getText().toString().trim(); MyTask myTask=new MyTask(); myTask.execute(str); } }); } //线程 class MyTask extends AsyncTask<String,String,String>{ @Override protected String doInBackground(String... params) { String str=params[0]; SoapObject object=getWeather(str); return parseWeather(object); } @Override protected void onPostExecute(String result) { if(result!=null){ weather_tv.setText(result); }else{ Toast.makeText(WeatherUI.this,"出错",1).show(); } super.onPostExecute(result); } } private SoapObject getWeather(String cityName) { // 指定WebService的命名空间和调用的方法名 SoapObject rpc = new SoapObject(NAMESPACE,methodName); // 设置需调用WebService接口需要传入的两个参数mobileCode、userId rpc.addProperty("theCityName",cityName); // 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10); envelope.bodyOut=rpc; // 设置是否调用的是dotNet开发的WebService envelope.dotNet = true; // 等价于envelope.bodyOut = rpc; envelope.setoutputSoapObject(rpc); HttpTransportSE transport = new HttpTransportSE(endPoint); // 调用WebService try { transport.call(soapAction,envelope); } catch (IOException e) { e.printstacktrace(); } catch (XmlPullParserException e) { e.printstacktrace(); } SoapObject detail = null; try { detail = (SoapObject) envelope.getResponse(); } catch (SoapFault e) { e.printstacktrace(); } return detail; } public String parseWeather(SoapObject object) { System.out.println(object); String date = object.getProperty(6).toString(); String date4 = object.getProperty(4).toString(); weatherToday = "今天:" + date4; weatherToday = weatherToday + "\n天气:" + date.split("日")[1]; System.out.println("天气0=="+date.split("日")[0]); System.out.println("天气1=="+date.split("日")[1]); weatherToday = weatherToday + "\n气温:" + object.getProperty(5).toString(); return weatherToday = weatherToday + "\n风力:" + object.getProperty(7).toString() + "\n"; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。