java获取动态天气api,java调用中国天气网api获得天气预报信息
//通过中国天气api调用
private String getWeatherInfo2(){
StringBuilder info = new StringBuilder();
try {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httget = new HttpGet("http://m.weather.com.cn/data/101050101.html");
ResponseHandler 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获取动态天气api,java调用中国天气网api获得天气预报信息相关推荐
- java调用天气预报api_java调用中国天气网api获得天气预报信息
以冰城哈尔滨为例 1.[代码][Java]代码 //通过中国天气api调用 private String getWeatherInfo2(){ StringBuilder info = new Str ...
- Java --- JVM动态链接与方法调用
目录 一.动态链接(指向运行时常量池的方法引用) 二.方法调用 2.1.静态链接 2.2.动态链接 2.3.早期绑定 2.4.晚期绑定 三.虚方法与非虚方法 3.1.非虚方法 3.2.普通调用指令 3 ...
- 深入理解Java反射+动态代理,java开发面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起在群里探讨技术. 答: ...
- java获取access token_【Java示例】如何获取AccessToken
好多新注册的开发者表示不太清楚如何获取AccessToken.首先还是建议大家看官网文档 http://ai.baidu.com/docs#/Begin/top 小帅帮大家写一个Java调用的示例 首 ...
- 访问中国气象 php,各种天气预报API 新浪 + 中国天气网
一.新浪天气预报API 其中,city后的城市可用java.net.URLEncoder.encode("武汉"," gb2312");也可以直接写" ...
- java 获取已有字体,java获取本机全部可用字体
java获取本机所有可用字体 //just for fun,那个28个字母的函数满满都是恶心 import java.awt.GraphicsEnvironment ; class Tester { ...
- java获取jtable的路径,Java如何在JTable组件中获取选定的单元格?
以下示例显示如何获取选定的行或选定的列,或如何选择JTable组件中的多个单元格.要侦听选择事件,我们可以JTable通过调用JTable.getSelectionModel().addListSel ...
- java获取access token_微信java 开发4 access_token获取
首先你得有url吧 public final static String access_token_url = "https://api.weixin.qq.com/cgi-bin/toke ...
- java获取文件名方法,利用Java获取文件名、类名、方法名和行号的方法小结
大家都知道,在C语言中,我们可以通过宏FILE. __LINE__来获取文件名和行号,而在Java语言中,则可以通过StackTraceElement类来获取文件名.类名.方法名.行号,具体代码如下: ...
最新文章
- r语言echarts画箱线图_echarts学习笔记之箱线图的分析与绘制详解
- Nature Neuroscience|群际冲突的脑间同步机制
- 为什么(#39;b#39;+#39;a#39;+ +#39;a#39;+#39;a#39;)。toLowerCase()#39;banana#39;的结果?
- Levenshtein distance最小编辑距离算法实现
- Deep Learning(深度学习)学习笔记整理系列之(四)
- Centos 5.5下面架设NTP服务器
- R语言GGPlot2
- 数据库为啥要使用参数绑定?
- 语音识别维特比解码_一种基于维特比算法的花洒语音识别系统及方法与流程
- 【MyBatis】动态SQL中的参数判空
- 使用遇到的问题_使用三防整理剂做织物整理会遇到这些问题...
- 手绘类短视频怎么制作?从剪辑到配音,后期制作也很重要
- DICOM标准之一_介绍和概述
- 基督-神[上帝]的道,真理的本真归回
- 高数_第3章重积分_三重积分的奇偶性
- Latex在线简历制作
- 解决Mac鼠标不好用的问题
- JS实现雪花飘落特效效果
- matlab某奶制品加工厂,奶制品加工问题 - 数学建模.doc
- oracle11g 没有scott,Oracle11g中没有scott用户怎么办啊???
热门文章
- C#.NET快速开发框架-企业版V4.0截图打包下载
- windows安装解压版mysql
- php和java的一些比较
- [转载] 50个数据可视化最有价值的图表(附完整Python代码,建议收藏)
- .net core部署到Ubuntu碰到的问题
- NSDate NSTimerZone 时区转换
- PowerDesigner实用技巧小结(4)
- Windows Phone 更改datePicker的显示格式
- 项目管理沙龙第十一次聚会纪要--当敏捷没有共识的时候
- [导入]Nebula3学习笔记(5): IO系统