天气预报java代码
天气预报及代码

天气预报及代码天气预报及代码点击地图上的地区,可看天气预报,喜欢的朋友可分享。
可放在首页装扮博客用,当然,也可放到日志等网页中。
第一种样式点地区,看预报(分享代码处)代码如下:<TABLE border=0 cellSpacing=0 cellPadding=0width=400 bgColor=#bbccffalign=center><TBODY><TR><TD><CE NTER><EMBED height=345type=application/x-shockwave-flashpluginspage=/go/getflashplay er width=454src=/deco/2009/1224/chin a.swf allowNetworking="internal"allowScriptAccess="never" invokeurls="false"wmode="transparent"></CENTER><CENTER><A target="_blank"href="/blog/static/1021130 7720140161293412/"><IMG title="点击分享代码"alt="点击分享代码"src="/DownloadImg/2015/06/0 108/54275104_2.jpg"httpyyygggblogcom><STRONG><FONTcolor="#ff0000" size="2">点地区,看预报(<FONT color="#3344ff">分享代码处</FONT>)</FONT></STRONG></A>< ;/CENTER></TD></TR></TABLE>注:大小可以调整(只调整代码中的高度数值345和宽度数值454即可)。
JSP JavaBean实例---天气预报bean

JSP JavaBean实例---天气预报bean JSP JavaBean实例---天气预报bean---介绍本文档将介绍如何创建一个简单的天气预报JavaBean,以在JSP页面中显示天气信息。
使用JavaBean可以实现将数据与应用程序的其他部分分离,使得数据的获取和显示更加灵活和可维护。
创建JavaBean类首先,在Java项目中创建一个名为`WeatherBean`的Java类,用于表示天气预报的信息。
在该类中,我们可以定义需要的属性和方法来存储和处理天气数据。
public class WeatherBean {private String location;private String temperature;private String humidity;public WeatherBean() {// 默认构造函数}// 设置和获取属性的方法public String getLocation() {return location;}public void setLocation(String location) { this.location = location;}public String getTemperature() {return temperature;}public void setTemperature(String temperature) {this.temperature = temperature;}public String getHumidity() {return humidity;}public void setHumidity(String humidity) {this.humidity = humidity;}// 其他方法根据需求自行添加}在JSP页面中使用JavaBean在JSP页面中,我们可以通过使用JSP标准标签库(JSTL)来访问和显示JavaBean中的数据。
获取天气预报java代码

获取天⽓预报java代码import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import .SocketTimeoutException;import .URL;import .URLConnection;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import net.sf.json.JSONObject;public class Weather {String cityid;URLConnection connectionData;StringBuilder sb;BufferedReader br;JSONObject jsonData;JSONObject info;public Weather(String cityid) throws IOException,NullPointerException{this.cityid = cityid;URL url = new URL("/data/"+cityid+".html");connectionData = url.openConnection();connectionData.setConnectTimeout(1000);try{br = new BufferedReader(new InputStreamReader(connectionData.getInputStream(), "utf-8"));sb = new StringBuilder();String line = null;while((line = br.readLine()) != null)sb.append(line);}catch (SocketTimeoutException e) {System.out.println("连接超时");}catch(FileNotFoundException e){System.out.println("加载⽂件出错");}String datas = sb.toString();jsonData = JSONObject.fromObject(datas);info = jsonData.getJSONObject("weatherinfo");List> list = new ArrayList>();for(int i=1;i<=6;i++){Calendar cal = Calendar.getInstance();cal.add(Calendar.DAY_OF_YEAR,i-1);Date date = cal.getTime();SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM⽉dd⽇");Map map = new HashMap();map.put("city", info.getString("city").toString());map.put("date_y", sf.format(date));map.put("week", getWeek(cal.get(Calendar.DAY_OF_WEEK)));map.put("fchh", info.getString("fchh").toString());map.put("weather", info.getString("weather"+i).toString());map.put("temp", info.getString("temp"+1).toString());map.put("wind", info.getString("wind"+1).toString());map.put("fl", info.getString("fl"+1).toString());map.put("index", info.getString("index").toString());map.put("index_uv", info.getString("index_uv").toString());map.put("index_tr", info.getString("index_tr").toString());map.put("index_co", info.getString("index_co").toString());map.put("index_cl", info.getString("index_cl").toString());map.put("index_xc", info.getString("index_xc").toString());map.put("index_d", info.getString("index_d").toString());list.add(map);}for(int j=1;jMap wMap = list.get(j);System.out.println(wMap.get("city")+"\t"+wMap.get("date_y")+"\t"+wMap.get("week")+wMap.get("weather")+"\t"+wMap.get("temp")+"\t"+wMap.get("index_uv")); }}public String getWeek(int iw){String weekStr = "";switch (iw) {case 1:weekStr = "星期天";break;case 2:weekStr = "星期⼀";break;case 3:weekStr = "星期⼆";break;case 4:weekStr = "星期三";break;case 5:weekStr = "星期四";break;case 6:weekStr = "星期五";break;case 7:weekStr = "星期六";break;default:break;}return weekStr;}public static void main(String[] args){ try{new Weather("101010100");//北京市}catch (Exception e) {e.printStackTrace();}}}。
java调用天气接口快速获取多个城市的数据的方法

一、介绍在日常生活和工作中,获取多个城市的天气数据是非常常见的需求。
利用Java语言调用天气接口可以快速获取多个城市的天气数据,为我们提供及时准确的天气信息。
本文将介绍如何使用Java语言调用天气接口来快速获取多个城市的数据的方法。
二、选择合适的天气接口1. 确定需求需要确定自己的需求,例如需要获取哪些城市的天气数据、需要获取的天气信息有哪些等。
根据自己的需求,选择合适的天气接口。
2. 选择权威可靠的天气接口在选择天气接口时,需要选择权威可靠的接口,以获取准确的天气数据。
可以选择一些知名的天气数据提供商的接口,如我国气象局提供的天气接口、百度天气接口、阿里天气接口等。
三、编写Java代码调用天气接口1. 导入相关的Java库在编写Java代码前,需要导入相关的Java库,以便调用网络接口、json数据处理等功能。
2. 发起HTTP请求使用Java的网络编程库,例如HttpClient或URLConnection类,发起HTTP请求,向天气接口发送请求数据,获取返回的天气数据。
3. 解析返回的json数据天气接口通常会返回json格式的数据,需要使用Java的json处理库,如Gson或Jackson,对返回的json数据进行解析,提取出需要的天气信息。
4. 处理多个城市的天气数据根据自己的需求,可以编写循环或并发处理多个城市的天气数据,将获取的数据存储到合适的数据结构中,如List、Map等。
五、处理异常情况调用天气接口时,可能会遇到网络连接超时、接口返回异常等情况,需要编写相应的异常处理代码,保证程序的稳定性和可靠性。
六、总结通过以上方法,可以快速、准确地获取多个城市的天氰数据。
在实际的应用中,可以根据自己的需求和实际情况进行调整和优化,以更好地满足用户的需求。
希望本文对于使用Java语言调用天气接口快速获取多个城市的数据有所帮助。
七、优化处理1. 缓存数据为了提高效率,可以考虑对获取的天气数据进行缓存,避免频繁地调用天气接口。
Java实现天气预报

Java实现天⽓预报通过Java实现天⽓预报,该⽅法必须联⽹import org.apache.http.client.config.RequestConfig;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.util.EntityUtils;import java.io.IOException;public class GetWeather {public static String getResult(String url) {try (CloseableHttpClient httpClient = HttpClientBuilder.create().build();CloseableHttpResponse response = httpClient.execute(new HttpGetConfig(url))) {String result = EntityUtils.toString(response.getEntity(),"utf-8"); //设置编码,防⽌乱码return result;} catch (IOException e) {e.printStackTrace();return "";}}}class HttpGetConfig extends HttpGet {public HttpGetConfig(String url) {super(url);setDefaultConfig();}private void setDefaultConfig() {this.setConfig(RequestConfig.custom().setConnectionRequestTimeout(1000 * 10).setConnectTimeout(1000 * 10).setSocketTimeout(1000 * 10).build());this.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0"); }}import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.util.ArrayList;import java.util.LinkedHashMap;import java.util.List;import java.util.Map;public class GetWeatherMain {// public static void main(String[] args) {// GetWeatherMain htmlUtilTest= new GetWeatherMain();// htmlUtilTest.searchWeather("101110200");// }/**** @param* @return获取未来7天的天⽓预报*/public List<Map<String,String>> searchWeather(String id){String result= GetWeather.getResult("/weather/"+id+".shtml");Document document= Jsoup.parse(result);Elements elements;// 获取⽇期和星期elements=document.select("h1");List<String> dateList=new ArrayList<>();List<String> dayList=new ArrayList<>();for (int i = 0; i < 7; i++) {String text=elements.get(i).text();int length=text.length();dateList.add(text.substring(0,length-4));dayList.add(text.substring(length-3,length-1));}//System.out.println(dateList);//System.out.println(dayList);// 获取天⽓elements=document.select("p[class=wea]");List<String> weatherList=new ArrayList<>();for (Element item : elements) {weatherList.add(item.text());}//System.out.println(weatherList);// 获取温度,最⾼温和最低温elements=document.select("p[class=tem]");int i=0;List<String> highTempList=new ArrayList<>();List<String> lowTempList=new ArrayList<>();for (Element item : elements) {highTempList.add(item.select("span").text()+"℃");lowTempList.add(item.select("i").text());}//System.out.println(highTempList);//System.out.println(lowTempList);// 封装结果,每天⼀⾏,未来7天List<Map<String,String>> list=new ArrayList<>();for (int j = 0; j < 7; j++) {Map<String,String> map=new LinkedHashMap<>();map.put("⽇期",dateList.get(j));map.put("day",dayList.get(j));map.put("天⽓",weatherList.get(j));map.put("最⾼温度",highTempList.get(j));map.put("最底温度",lowTempList.get(j));list.add(map);}//list.forEach(System.out::println);return list;}}测试类public static void main(String[] args){String msg = "";GetWeatherMain getWeatherMain = new GetWeatherMain();List<Map<String,String>> list = getWeatherMain.searchWeather("101240101"); //这⾥需要传⼊城市ID,可以通过该链接进⾏查看msg = "【南昌地区天⽓预报】\n"+ list.get(0).toString() +"\n"+ "-----------------------------" + "\n" + list.get(1).toString(); //这⾥只获取两天的天⽓预报 msg = msg.replace('=',':').replace('{',' ').replace('}',' ').replace(',','\n');System.out.println(msg);}。
天气预报java代码

try
{
//调用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null)
{
//获取服务器响应返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
//解析服务器响应的SOAP消息。
return parseProvinceOrCity(detail);
{
//需要调用的方法名(获得本天气预报Web Services支持的城市信息,根据省份查询城市集合:带参数)
String methodName = "getSupportCityString";
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
/**
*根据省份获取城市列表
*
* @param province
* @return
*/
public static List<String> getCityListByProvince(String province)
天气预报获取
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import .URL;import .URLConnection;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class Classes {/*** 获取SOAP的请求头,并替换其中的标志符号为用户输入的城市** 编写者:王景辉** @param city* 用户输入的城市名称* @return 客户将要发送给服务器的SOAP 请求*/private static String getSoapRequest(String city) {StringBuilder sb = new StringBuilder();sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+ "<soap:Envelope xmlns:xsi=\"/2001/XMLSchema-instance\" "+ "xmlns:xsd=\"/2001/XMLSchema\" "+"xmlns:soap=\"/soap/envelope/\">"+ "<soap:Body> <getWeatherbyCityName xmlns=\"/\">"+ "<theCityName>" + city+ "</theCityName> </getWeatherbyCityName>"+ "</soap:Body></soap:Envelope>");return sb.toString();}/*** 用户把SOAP请求发送给服务器端,并返回服务器点返回的输入流* 编写者:王景辉** @param city* 用户输入的城市名称* @return 服务器端返回的输入流,供客户端读取* @throws Exception*/private static InputStream getSoapInputStream(String city) throws Exception { try {String soap = getSoapRequest(city);if (soap == null) {return null;}URL url = new URL("/WebServices/WeatherWebService.asmx");URLConnection conn = url.openConnection();conn.setUseCaches(false);conn.setDoInput(true);conn.setDoOutput(true);conn.setRequestProperty("Content-Length", Integer.toString(soap.length()));conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");conn.setRequestProperty("SOAPAction","/getWeatherbyCityName");OutputStream os = conn.getOutputStream();OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");osw.write(soap);osw.flush();osw.close();InputStream is = conn.getInputStream();return is;} catch (Exception e) {e.printStackTrace();return null;}}/*** 对服务器端返回的XML进行解析* 编写者:王景辉** @param city* 用户输入的城市名称* @return 字符串用,分割*/public static String getWeather(String city) {try {Document doc;DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();dbf.setNamespaceAware(true);DocumentBuilder db = dbf.newDocumentBuilder();InputStream is = getSoapInputStream(city);doc = db.parse(is);NodeList nl = doc.getElementsByTagName("string");StringBuffer sb = new StringBuffer();for (int count = 0; count < nl.getLength(); count++) {Node n = nl.item(count);if (n.getFirstChild().getNodeValue().equals("查询结果为空!")) { sb = new StringBuffer("#");break;}sb.append(n.getFirstChild().getNodeValue() + "#/n");}is.close();return sb.toString();} catch (Exception e) {e.printStackTrace();return null;}}public static void main(String[] args) throws Exception {System.out.println(getWeather("北京"));}}。
详细雨滴java代码
FormMain frm = new FormMain();
}
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import javax.swing.JPanel;
import net.mjrg.no18.conp.MyRain;
}
public void keyPressEvents(char ch)
{
if(nowTypeRain != null && nowTypeRain.isRun())
{
nowTypeRain.setTypeMsg(nowTypeRain.getTypeMsg()+ch);
{
rains.remove(m);
System.out.println("移除完成的雨滴!");
}
}
}
private String getMsg()
{
Random rnd = new Random();
int k = 1+rnd.nextInt(maxNum-1);
if(nowTypeRain.getTypeMsg().equals(""))
nowTypeRain = null;
else
return;
}
Iterator it = rains.iterator();
java调用中国天气网api获得天气预报信息的方法
java调⽤中国天⽓⽹api获得天⽓预报信息的⽅法本⽂实例讲述了java调⽤中国天⽓⽹api获得天⽓预报信息的⽅法。
分享给⼤家供⼤家参考。
具体实现⽅法如下://以冰城哈尔滨为例通过中国天⽓api调⽤天⽓信息private String getWeatherInfo2(){StringBuilder info = new StringBuilder();try {DefaultHttpClient httpclient = new DefaultHttpClient();HttpGet httget = new HttpGet("/data/101050101.html");ResponseHandler<String> responseHandler = new BasicResponseHandler();String responseBody = httpclient.execute(httget, responseHandler);System.out.println(responseBody);JsonParser jp = new JsonParser();JsonElement jse = jp.parse(responseBody);JsonObject jso = jse.getAsJsonObject().get("weatherinfo").getAsJsonObject();// String updTime = jso.get("fchh").getAsString();// if(updTime != null){// //温度// String j = jso.get("temp1").getAsString();//今天// String m = jso.get("temp2").getAsString();//明天// //天⽓情况// String j_weather = jso.get("weather1").getAsString();//今天// String m_weather = jso.get("weather2").getAsString();//明天// //风向风⼒// String j_wind = jso.get("wind1").getAsString();//今天// String m_wind = jso.get("wind2").getAsString();//明天// info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");// info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");// }String updTime = jso.get("fchh").getAsString();if(updTime != null){if(!updTime.trim().equals("18")){//温度String j = jso.get("temp1").getAsString();//今天String m = jso.get("temp2").getAsString();//明天//天⽓情况String j_weather = jso.get("weather1").getAsString();//今天String m_weather = jso.get("weather2").getAsString();//明天//风向风⼒String j_wind = jso.get("wind1").getAsString();//今天String m_wind = jso.get("wind2").getAsString();//明天info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");}else{//18//温度String temp1 = jso.get("temp1").getAsString();//今天String temp2 = jso.get("temp2").getAsString();//今天String temp3 = jso.get("temp3").getAsString();//今天String j = temp1.split("~")[1] + "~" + temp2.split("~")[0];String m = temp2.split("~")[1] + "~" + temp3.split("~")[0];//明天//天⽓情况String weather1 = jso.get("weather1").getAsString();String weather2 = jso.get("weather2").getAsString();String weather3 = jso.get("weather3").getAsString();String j_weather = "";String j_weather_part1 = "";String j_weather_part2 = "";//判断是否有转if(weather1.indexOf("转") > 0){//有j_weather_part1 = weather1.split("转")[1];}else{j_weather_part1 = weather1;}if(weather2.indexOf("转") > 0){//有j_weather_part2 = weather2.split("转")[0];}else{j_weather_part2 = weather2;}if(j_weather_part1.equalsIgnoreCase(j_weather_part2)){j_weather = j_weather_part1;//今天}else{j_weather = j_weather_part1 + "转" + j_weather_part2;//今天}String m_weather = "";String m_weather_part1 = "";String m_weather_part2 = "";//判断是否有转if(weather2.indexOf("转") > 0){//有m_weather_part1 = weather2.split("转")[1];}else{m_weather_part1 = weather2;}if(weather3.indexOf("转") > 0){//有m_weather_part2 = weather3.split("转")[0];}else{m_weather_part2 = weather3;}if(m_weather_part1.equalsIgnoreCase(m_weather_part2)){m_weather = m_weather_part1;//今天}else{m_weather = m_weather_part1 + "转" + m_weather_part2;//明天}//风向风⼒String j_wind = jso.get("wind2").getAsString();//今天String m_wind = jso.get("wind3").getAsString();//明天info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n"); }}} catch (Exception e) {}return info.toString();}希望本⽂所述对⼤家的java程序设计有所帮助。
JAVA实现黑客帝国代码雨效果
JAVA实现⿊客帝国代码⾬效果import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.image.MemoryImageSource;import java.util.Random;import javax.swing.JDialog;import javax.swing.JPanel;import javax.swing.Timer;public class Rain extends JDialog implements ActionListener {private Random random = new Random();private Dimension screenSize;private JPanel graphicsPanel;//⾏⾼,列宽private final static int gap = 20;//存放⾬点顶部的位置信息(marginTop)private int[] posArr;//⾏数private int lines;//列数private int columns;public Rain() {initComponents();}private void initComponents() {setLayout(new BorderLayout());graphicsPanel = new GraphicsPanel();add(graphicsPanel, BorderLayout.CENTER);//设置光标不可见Toolkit defaultToolkit = Toolkit.getDefaultToolkit();Image image = defaultToolkit.createImage(new MemoryImageSource(0, 0, null, 0, 0));Cursor invisibleCursor = defaultToolkit.createCustomCursor(image, new Point(0, 0), "cursor");setCursor(invisibleCursor);//ESC键退出KeyPressListener keyPressListener = new KeyPressListener();this.addKeyListener(keyPressListener);//this.setAlwaysOnTop(true);//去标题栏this.setUndecorated(true);//全屏this.getGraphicsConfiguration().getDevice().setFullScreenWindow(this);this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);setVisible(true);screenSize = Toolkit.getDefaultToolkit().getScreenSize();lines = screenSize.height / gap;columns = screenSize.width / gap;posArr = new int[columns + 1];random = new Random();for (int i = 0; i < posArr.length; i++) {posArr[i] = random.nextInt(lines);}//每秒10帧new Timer(100, this).start();}/*** @return 随机字符*/private char getChr() {return (char) (random.nextInt(94) + 33);}@Overridepublic void actionPerformed(ActionEvent e) {graphicsPanel.repaint();}private class GraphicsPanel extends JPanel {@Overridepublic void paint(Graphics g) {Graphics2D g2d = (Graphics2D) g;g2d.setFont(getFont().deriveFont(Font.BOLD));g2d.setColor(Color.BLACK);g2d.fillRect(0, 0, screenSize.width, screenSize.height);//当前列int currentColumn = 0;for (int x = 0; x < screenSize.width; x += gap) {int endPos = posArr[currentColumn];g2d.setColor(Color.CYAN);g2d.drawString(String.valueOf(getChr()), x, endPos * gap); int cg = 0;for (int j = endPos - 15; j < endPos; j++) {//颜⾊渐变cg += 20;if (cg > 255) {cg = 255;}g2d.setColor(new Color(0, cg, 0));g2d.drawString(String.valueOf(getChr()), x, j * gap);}//每放完⼀帧,当前列上⾬点的位置随机下移1~5⾏posArr[currentColumn] += random.nextInt(5);//当⾬点位置超过屏幕⾼度时,重新产⽣⼀个随机位置if (posArr[currentColumn] * gap > getHeight()) {posArr[currentColumn] = random.nextInt(lines);}currentColumn++;}}}private class KeyPressListener extends KeyAdapter {@Overridepublic void keyPressed(KeyEvent e) {if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {System.exit(0);}}}public static void main(String[] args) {new Rain();}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//解析服务器响应的SOAP消息。
return parseProvinceOrCity(detail);
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
private static List<String> parseProvinceOrCity(SoapObject detail)
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
/**
*根据省份获取城市列表
*
* @param province
* @return
*/
public static List<String> getCityListByProvince(String province)
{
ArrayList<String> result = new ArrayList<String>();
for (int i = 0; i < detail.getPropertyCount(); i++)
{
String str = detail.getProperty(i).toString();
//解析出每个省份
result.add(str.split(",")[0]);
}
return result;
}
public static SoapObject getWeatherByCity(String cityName)
{
//根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数
/**
*获得州,国内外省份和城市信息
*
* @return
*/
public static List<String> getProvinceList()
{
//需要调用的方法名(获得本天气预报Web Services支持的洲、国内外省份和城市信息)
String methodName = "getRegionProvince";
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
//解析服务器响应的SOAP消息。
return detail;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
public class WebServiceUtil
{
//定义Web Service的命名空间
}
} catch (Exception e)
{
e.printStackTrace();
}
return nulபைடு நூலகம்;
}
}
httpTranstation.debug = true;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
soapObject.addProperty("theRegionCode", province);
envelope.bodyOut = soapObject;
envelope.dotNet = true;
try
{
//调用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
{
//需要调用的方法名(获得本天气预报Web Services支持的城市信息,根据省份查询城市集合:带参数)
String methodName = "getSupportCityString";
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
package com.kang.weatherwebservice;
import java.util.ArrayList;
import java.util.List;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
static final String SERVICE_NS = "/";
//定义Web Service提供服务的URL
static final String SERVICE_URL = "/WebServices/WeatherWS.asmx";
SoapEnvelope.VER11);
//实例化SoapObject对象
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
envelope.bodyOut = soapObject;
//设置与.Net提供的Web Service保持较好的兼容性
SoapEnvelope.VER11);
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
soapObject.addProperty("theCityCode", cityName);
envelope.bodyOut = soapObject;
if (envelope.getResponse() != null)
{
//获取服务器响应返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
//创建HttpTransportSE传输对象
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
httpTranstation.debug = true;
//使用SOAP1.1协议创建Envelop对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
//解析服务器响应的SOAP消息。
return parseProvinceOrCity(detail);
String methodName = "getWeather";
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
httpTranstation.debug = true;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
envelope.dotNet = true;
try
{
//调用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null)
{
//获取服务器响应返回的SOAP消息
envelope.dotNet = true;
try
{
//调用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null)
{
//获取服务器响应返回的SOAP消息