学校网站的建设与使用情况,做网站首先必须切割图片吗,wordpress下载主题博客,织梦系统做网站1.简介 Android中的WebService 是一种基于SOAP协议的远程调用标准。通过WebService可以将不同操作系统平台#xff0c;不同语言、不同技术整合到一起。在Android SDK中并没有提供调用WebService的库#xff0c;因此#xff0c;需要使用第三方类库#xff08;KSOAP2#x… 1.简介 Android中的WebService 是一种基于SOAP协议的远程调用标准。通过WebService可以将不同操作系统平台不同语言、不同技术整合到一起。在Android SDK中并没有提供调用WebService的库因此需要使用第三方类库KSOAP2来调用WebService。下面通过一个例子演示如何使用KSOAP2来调用WebService。 2.效果演示 3.直接贴代码吧看注释 /*** author 王树伟* * 可按如下6步来调用WebService的方法。*/
public class MainActivity extends Activity {private Button send;private EditText et;private String value;private TextView text;String regularExpression ^1[3-8]\\d{9};Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private Handler handler new Handler(){public void handleMessage(Message msg) {switch (msg.what) {case 1:String valueOk (String) msg.obj;text.setText(valueOk);break;case 2:String valueFs (String) msg.obj;text.setText(valueFs);break;case 3:Toast.makeText(getApplicationContext(), 请输入正确的手机号码, 0).show();break;}}};/*** 初始化*/private void initView() {send (Button) findViewById(R.id.btn);et (EditText) findViewById(R.id.et);text (TextView) findViewById(R.id.text);send.setOnClickListener(new OnClickListener() {Overridepublic void onClick(View v) {value et.getText().toString().trim();/*** 需要注意的一点 子线程*/new Thread(){public void run() {//比对是否满足手机号标准正则表达式if(value.matches(regularExpression)){//只有符合标准才会调用方法getWebServicesValue(value);}else {handler.sendEmptyMessage(3);}}}.start();}});}/*** webservices* param value*/private void getWebServicesValue(String value) {String url http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx;String mothor getMobileCodeInfo;/*** 1. 指定WebService的命名空间和调用的方法名* * 第1个参数表示WebService的命名空间* * 第2个参数表示要调用的WebService方法名。*/SoapObject object new SoapObject(http://WebXml.com.cn/, mothor);/*** 2. 设置调用方法的参数值这一步是可选的如果方法没有参数可以省略这一步。* * 第1个参数虽然表示调用方法的参数名但该参数值并不一定与服务端的WebService类中的方法参数名一致* 只要设置参数的顺序一致即可。*/object.addProperty(mobileCode, value);/*** 3. 生成调用WebService方法的SOAP请求信息* * 设置SOAP协 议的版本号*/SoapSerializationEnvelope envelope new SoapSerializationEnvelope(SoapEnvelope.VER10);envelope.bodyOut object;envelope.dotNet true;//支持.net开发的服务器System.out.println(----1---);/*** 4. 创建HttpTransportSE对象*/HttpTransportSE se new HttpTransportSE(url);try {/*** 5. 使用call方法调用WebService方法* * 第1个参数一般为null第2个参数就是在第3步创建的SoapSerializationEnvelope对象*/se.call(http://WebXml.com.cn/mothor, envelope);System.out.println(----2----);/*** 6. 使用getResponse方法获得WebService方法的返回结果 * * 注意此处是在子线程所以注意更新UI在此处是不可以的 */if(envelope.getResponse()!null){System.out.println(---3---);Object object2 (Object)envelope.getResponse();Message message new Message();message.what 1;message.obj object2.toString();System.out.println(---obj---object2);handler.sendMessage(message);}else {Message message new Message();message.what 2;handler.sendMessage(message);}} catch (IOException e) {e.printStackTrace();} catch (XmlPullParserException e) {e.printStackTrace();}}
}xml就不贴了很简单的布局 4.注意 因为用到访问网络所以权限一定不要忘记加 uses-permission android:nameandroid.permission.INTERNET/ 5.Demo 点我跳转过去