import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
private EditText etCityName;
private TextView tvContent;
private SoapObject object1;
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 0:
tvContent.setText(object1.toString());
break;
default: break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etCityName = (EditText) findViewById(R.id.etCityName);
tvContent = (TextView) findViewById(R.id.tvContent);
}
public void btnQuery(View view){
new Thread(){
@Override
public void run() {
super.run();
queryWeather();
}
}.start();
}
public void queryWeather(){
try {
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
SoapObject object=new SoapObject("http://WebXml.com.cn/","getWeather");
object.addProperty("theCityCode","北京");
object.addProperty("theUserID","96cae9b2def94293b37f5763e795c698");
envelope.bodyOut=object;
envelope.dotNet=true;
HttpTransportSE se= new HttpTransportSE("http://ws.webxml.com.cn/WebServices/WeatherWS.asmx");
se.call("http://WebXml.com.cn/getWeather",envelope);
if(envelope.getResponse()!=null){
object1 = (SoapObject) envelope.bodyIn;
handler.sendEmptyMessage(0);
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
}