WebService调用网络查询天气

public void butt(View view){
   //网络请求时一个耗时操作,不能再主线程进行,放到子线程进行
        new Thread(){
            @Override
            public void run() {
                super.run();
                getWeather();
            }
        }.start();
    }

   
    public void getWeather(){
        try {
            //创建一个信封
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            //得到一张信纸
            SoapObject object = new SoapObject("http://WebXml.com.cn/","getMobileCodeInfo");
            //添加请求的参数
            object.addProperty("mobileCode","18513200461");
            object.addProperty("userID","94c18771ac054d57ac03997e4311f83e");
            //将信装到信纸
            envelope.bodyOut = object;
            //平台兼容性
            envelope.dotNet = true;
            //发送信封
            HttpTransportSE httpTransportSE = new HttpTransportSE("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx");
            httpTransportSE.call("http://WebXml.com.cn/getMobileCodeInfo",envelope);
            //等待对方回信
            if(envelope.getResponse() !=null){
                //得到信中的内容
                final SoapObject result = (SoapObject) envelope.bodyIn;
                System.out.println(result.toString());
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
      //主线程
                        weather.setText(result.toString());
                    }
                });
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值