//通过中国天气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文件传递数据。
对于IT管理员和网络安全团队来说,勒索软件攻击是一场与时间赛跑的关键比赛,以检测和控制损害,同时抢救公司的数据资产的剩余部分。但是,当这种事件发生时,有多少反应时间呢?似乎不是很多。正如对10个候选勒索软件的测试所揭示的那样,一种名叫LockBit的勒索软件效率惊人,在四分钟内就加密了一台Windo...
一位安全研究员在上周末的自由和开源软件开发者欧洲会议(FOSDEM)上围绕缓解像Spectre和Meltdown这样的处理器漏洞发表演讲,所提出的方式力求让性能成本可以忽略不计。 Cyberus科技公司的Sebastian Eydam在2022年FOSDEM会议上发言,谈到有可能在几乎没有性能成本...
NSO集团用于入侵iPhone的间谍软件Pegasus陷入了另一桩间谍丑闻,该监视工具被用来对付西班牙加泰罗尼亚地区的民间社会和政治人物的设备。继2020年2020年的一份报告称加泰罗尼亚高级政治家Roger Torrent和支持独立的人通过WhatsApp成为“政府级间谍软件”的目标后,Citiz...
在 4 月 5 日的活动中,微软宣布了适用于 Windows 11 系统的新安全功能,从而在操作系统层面提供网络钓鱼保护。通过 Microsoft Defender SmartScreen,微软提供网络钓鱼的检测和保护,保护 Windows 11 设备免受恶意程序侵害。 在更新日志中,微软表示:...
近期,QNAP发布了几项安全公告,其中一项针对严重的安全问题,该问题允许在易受攻击的QVR系统上远程执行任意命令,该公司的视频监控解决方案托管在NAS设备上。QVR IP视频监控系统支持多重频道和跨平台视频解码,专为监控家庭和办公环境而设计。该漏洞编号为CVE-2022-27588,严重程度得分为...
Hackernews 编译,转载请注明出处: ASUSTOR 网络附属存储(NAS)设备已经成为 Deadbolt 勒索软件的最新受害者,不到一个月前,类似的攻击受害者是QNAP 网络附加存储设备。 为了应对感染,该公司发布了固件更新(ADM 4.0.4.RQO2)来“解决相关...