android中利用webservice进行天气预报查询
来源:互联网 发布:南通java培训费用 编辑:程序博客网 时间:2024/06/04 00:03
package cs.utils;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;public class StreamTools {public static byte[] read(InputStream inStream) throws IOException{ ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte [] buffer = new byte[1024]; int len = 0; while((len=inStream.read(buffer))!=-1){ outStream.write(buffer); } inStream.close(); outStream.close(); return outStream.toByteArray(); } }
package cs.service;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;import android.util.Xml;import cs.utils.StreamTools;public class CityService {public String query(String num) throws IOException, XmlPullParserException{InputStream in = CityService.class.getClassLoader().getResourceAsStream("template.xml");String data = new String(StreamTools.read(in),"UTF-8");//System.out.println("length_________________________________________________________"+data.length()); //System.out.println(data);in.close();data = data.replace("city", num);URL url = new URL("http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setConnectTimeout(3000);conn.setRequestMethod("POST");conn.setRequestProperty("HOST", "webservice.webxml.com.cn");conn.setRequestProperty("Content-Type", "application/soap+xml; charset=utf-8");conn.setRequestProperty("Content-Length", data.getBytes().length+"");conn.setDoOutput(true);conn.getOutputStream().write(data.getBytes());int code = conn.getResponseCode();//System.out.println("code_______________________________"+code);if(code == 200){/*InputStreamReader isr = new InputStreamReader(conn.getInputStream(),"UTF-8");String content = "";int i;while((i=isr.read())!=-1){content+=(char)i;}return content;*/return paresAddaress(conn.getInputStream());}return null;}private String paresAddaress(InputStream inputStream) throws XmlPullParserException, IOException {XmlPullParser parser = Xml.newPullParser();parser.setInput(inputStream,"UTF-8");int type = parser.getEventType();StringBuffer sb = new StringBuffer(); while(type!=XmlPullParser.END_TAG){if(type==XmlPullParser.START_TAG){if("string".equals(parser.getName())){sb.append(parser.nextText());}}type = parser.next();}return sb.toString();}}
package com.example.weather;import java.io.IOException;import org.xmlpull.v1.XmlPullParserException;import cs.service.CityService;import android.annotation.SuppressLint;import android.app.Activity;import android.os.Bundle;import android.os.StrictMode;import android.view.View;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity {private EditText city;private TextView show; @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); if(android.os.Build.VERSION.SDK_INT>9){ StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } city = (EditText) this.findViewById(R.id.city);show = (TextView) this.findViewById(R.id.show);}public void on(View v) throws IOException, XmlPullParserException{switch (v.getId()) {case R.id.ok:String cityaddress = city.getText().toString().trim();CityService cs = new CityService();String result = cs.query(cityaddress);show.setText(result);break;default:break;}}}
<?xml version="1.0" encoding="utf-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <getWeather xmlns="http://WebXml.com.cn/"> <theCityCode>city</theCityCode> <theUserID></theUserID> </getWeather> </soap12:Body></soap12:Envelope>
网盘保存地址:链接: http://pan.baidu.com/s/1ntqe8rB
0 0
- android中利用webservice进行天气预报查询
- 利用WebService制作天气预报查询
- android中利用webservice进行中英文翻译
- android调用webservice实现天气预报查询
- webservice查询天气预报
- Android中ksoap2-android调用WebService 实现天气预报
- Android利用WebService查询手机号码归属地
- Android利用WebService查询手机号码归属地
- android调用WebService进行天气查询
- Android 4.4 Webservice进行电话查询
- php利用CURL查询天气预报
- Android调用WebService(天气预报)
- 利用Google Map和webservice实现天气预报
- 查询天气预报的Webservice接口程序源代码
- 查询天气预报的Webservice接口程序源代码
- 查询天气预报的Webservice接口程序源代码
- ASP.NET webservice,查询天气预报,手机号码等
- 通过调用webservice实现查询天气预报系统
- Android开源项目第二篇——工具库篇
- HttpClient入门
- Axure 播放/暂停按钮的切换
- iOS Quartz: CGPathAddArc和CGPathAddArcToPoint函数
- 一个关于MFMessageComposeViewController的ios7中的诡异问题 收件人视图黑色 和解决方式
- android中利用webservice进行天气预报查询
- layoutSubviews总结
- but also entails pain and suffering
- struts框架实现的jsp页面的跳转的页面详细讲解---深入struts一下!
- vb6.0中提示:该部件的许可证信息没有找到,在设计环境中,没有合适的许可...
- hdu 2063 过山车(水题,二分图匹配)
- java任务计划
- 堆排序
- 线下品牌商必看,如何让自己穿上网络的嫁衣