//通过中国天气api调用
private String getWeatherInfo2(){
StringBuilder info = new StringBuilder();
try {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httget = new HttpGet("");
ResponseHandlerString 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();
}
哥们,你写的高级一点要用到web服务接口,如果简单一点直接就像你这样用过url获取相应的天气信息,然后去解析你获取到的字符串即可,字符串大都是Json格式。
具体参照这个。
做软件的人都不喜欢发明重复的轮子,天气那种情况是用的webservice技术解决的,通过SOAP协议,必须天气预报那个项目那面提供给你一个接口才可以,还需要提供给你wsdl文件。 如果想自己实现,那你自己得做一个那样的功能。 webservice好处就在于在不同语言中获取’行为‘,因为他是通过xml文件传递数据。
我们已经习惯了来自俄罗斯的大量网络攻击,但在乌克兰被入侵后出现了一个有趣的转变,3月份70%的网络攻击反过来都是针对俄罗斯的。Atlas VPN的研究显示,还有19%的攻击是针对乌克兰的。美国是第三大目标,但国际局势让针对该国的攻击只占总数的5%。 3月5日,随着匿名黑客宣布对俄罗斯进行全面的网络...
据称,一个黑客组织泄露了微软37GB的源代码,这些代码与包括Bing和Cortana在内的数百个项目有关,这是一系列重大网络安全事件中的最新一起。Lapsus$黑客组织在周一晚上公开发布了一个9GB的压缩文件。据称,该7zip档案包含了从微软获得的250多个内部项目。 据称这些数据来自微软的Az...
Atlas VPN的新研究显示,全球76%的公司在过去一年中遭遇过服务停机。原因包括系统崩溃、人为错误和网络攻击是造成停机的主要原因。此外,许多IT经理对越来越多的政治驱动的网络攻击感到担忧。 系统崩溃被认为是公司停机的首要原因,52%的人不得不处理这个问题。42.3%的IT经理认为人为错误是导致公...
在 4 月 5 日的活动中,微软宣布了适用于 Windows 11 系统的新安全功能,从而在操作系统层面提供网络钓鱼保护。通过 Microsoft Defender SmartScreen,微软提供网络钓鱼的检测和保护,保护 Windows 11 设备免受恶意程序侵害。 在更新日志中,微软表示:...
近期,QNAP发布了几项安全公告,其中一项针对严重的安全问题,该问题允许在易受攻击的QVR系统上远程执行任意命令,该公司的视频监控解决方案托管在NAS设备上。QVR IP视频监控系统支持多重频道和跨平台视频解码,专为监控家庭和办公环境而设计。该漏洞编号为CVE-2022-27588,严重程度得分为...
微软今天正式宣布,它已经禁用了MSIX应用安装程序协议以防止恶意攻击。该协议允许用户直接从网络服务器上安装各种应用程序,而不需要先将其下载到本地存储。当时的想法是,这种方法将为用户节省空间,因为不需要下载整个MSIX包。 然而,这种Windows应用程序安装包后来被发现用来分发恶意的PDF文件,如...