天气
来源:互联网 发布:淘宝秒杀在哪里 编辑:程序博客网 时间:2024/04/29 04:04
//要访问的webService的网址 一般以.asmx结尾private String url="http://www.gpsso.com/webservice/weather/weatherinfo.asmx";//命名空间 注意:必须要以"/"结尾 wsdl可以找到 targetNamespaceprivate String namespace="http://gpsso.com/";//请求的方法名private String name="GetToDayWeatherInfo";//soapAction=namespace+nameprivate String soapAction="http://gpsso.com/GetToDayWeatherInfo";private TextView tv;private Handler myHandler=new Handler(){public void handleMessage(android.os.Message msg) {//显示tv.setText(msg.obj.toString());};};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv = (TextView) findViewById(R.id.tv);}public void getweather(View v){//新开启一个子线程,去访问网络new Thread(){public void run() {getWeatherData();//调用方法};}.start();}
getWeatherData调用的方法
private void getWeatherData() {//创建一个SoapObject对象SoapObject obj=new SoapObject(namespace, name);//传递三个参数信息obj.addProperty("APICode", "11709251728002768683");obj.addProperty("APIKey", "1F1FB4C41BDA4E3EB2E75D2A11BB55");obj.addProperty("CityCode", "101010100");//北京//1.创建 httpTran...对象HttpTransportSE hts=new HttpTransportSE(url);//2.创建Soap..Evenlope对象 确定soap协议的版本号 v10 v11 v12SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapSerializationEnvelope.VER11);//3.设置传送给服务器的参数envelope.bodyOut=obj;//4.设置支付语言envelope.dotNet=true;try {//5.进行请求与访问hts.call(soapAction, envelope);//6.得到响应的结果SoapObject result=(SoapObject)envelope.bodyIn;//解析到GetToDayWeatherInfoResultSoapObject weatherInfoResult=(SoapObject)result.getProperty("GetToDayWeatherInfoResult");//解析得到API对象SoapObject apiObj=(SoapObject)weatherInfoResult.getProperty("API");String city=apiObj.getProperty("CITY").toString();String wd=apiObj.getProperty("WD").toString();String ws=apiObj.getProperty("WS").toString();String SD=apiObj.getProperty("SD").toString();//显示的信息String showText=city+"的实时天气情况是:"+"风力 "+wd+" "+ws+" 相对湿度:"+SD;Log.d("zzz", showText);Log.d("zzz", result.toString());//发消息给主线程,通知tv组件改变其内容Message msg=Message.obtain();msg.obj=showText;myHandler.sendMessage(msg);/** * * GetToDayWeatherInfoResponse{GetToDayWeatherInfoResult=anyType{API=anyType{RESULTS=0; MESSAGE=接口查询成功; CITY=北京; CITYID=101010100; TEMP=18; WD=东南风; WS=1级; SD=17%; WSE=1; TIME=17:05; ISRADAR=1;RADAR=JC_RADAR_AZ9010_JB; NJD=暂无实况; QY=1011; RAIN=0; }; }; } */} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (XmlPullParserException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
阅读全文
0 0
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- UBUNTU 关闭iptables的方法
- 全局静态变量和局部静态变量的区别
- Power Designer建仓库
- Valid Anagram:验证不考虑字母顺序不同的单词是否相同
- VCF-IPHONE通讯录保存
- 天气
- SQL Server 远程备份详解
- Introduction to Parallel and Concurrent Programming in Python
- python中的矩阵运算
- css笔记:css的继承性
- C#基础--之数据类型
- 打造“国际村”工作环境,弋果美语一路坚持!
- AndroidManifest 合并
- UI / UX设计师如何玩转用户心理学原理?