//通过中国天气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获得天气预报信息相关推荐

  1. java调用天气预报api_java调用中国天气网api获得天气预报信息

    以冰城哈尔滨为例 1.[代码][Java]代码 //通过中国天气api调用 private String getWeatherInfo2(){ StringBuilder info = new Str ...

  2. Java --- JVM动态链接与方法调用

    目录 一.动态链接(指向运行时常量池的方法引用) 二.方法调用 2.1.静态链接 2.2.动态链接 2.3.早期绑定 2.4.晚期绑定 三.虚方法与非虚方法 3.1.非虚方法 3.2.普通调用指令 3 ...

  3. 深入理解Java反射+动态代理,java开发面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起在群里探讨技术. 答: ...

  4. java获取access token_【Java示例】如何获取AccessToken

    好多新注册的开发者表示不太清楚如何获取AccessToken.首先还是建议大家看官网文档 http://ai.baidu.com/docs#/Begin/top 小帅帮大家写一个Java调用的示例 首 ...

  5. 访问中国气象 php,各种天气预报API 新浪 + 中国天气网

    一.新浪天气预报API 其中,city后的城市可用java.net.URLEncoder.encode("武汉"," gb2312");也可以直接写" ...

  6. java 获取已有字体,java获取本机全部可用字体

    java获取本机所有可用字体 //just for fun,那个28个字母的函数满满都是恶心 import java.awt.GraphicsEnvironment ; class Tester { ...

  7. java获取jtable的路径,Java如何在JTable组件中获取选定的单元格?

    以下示例显示如何获取选定的行或选定的列,或如何选择JTable组件中的多个单元格.要侦听选择事件,我们可以JTable通过调用JTable.getSelectionModel().addListSel ...

  8. java获取access token_微信java 开发4 access_token获取

    首先你得有url吧 public final static String access_token_url = "https://api.weixin.qq.com/cgi-bin/toke ...

  9. java获取文件名方法,利用Java获取文件名、类名、方法名和行号的方法小结

    大家都知道,在C语言中,我们可以通过宏FILE. __LINE__来获取文件名和行号,而在Java语言中,则可以通过StackTraceElement类来获取文件名.类名.方法名.行号,具体代码如下: ...

最新文章

  1. r语言echarts画箱线图_echarts学习笔记之箱线图的分析与绘制详解
  2. Nature Neuroscience|群际冲突的脑间同步机制
  3. 为什么(#39;b#39;+#39;a#39;+ +#39;a#39;+#39;a#39;)。toLowerCase()#39;banana#39;的结果?
  4. Levenshtein distance最小编辑距离算法实现
  5. Deep Learning(深度学习)学习笔记整理系列之(四)
  6. Centos 5.5下面架设NTP服务器
  7. R语言GGPlot2
  8. 数据库为啥要使用参数绑定?
  9. 语音识别维特比解码_一种基于维特比算法的花洒语音识别系统及方法与流程
  10. 【MyBatis】动态SQL中的参数判空
  11. 使用遇到的问题_使用三防整理剂做织物整理会遇到这些问题...
  12. 手绘类短视频怎么制作?从剪辑到配音,后期制作也很重要
  13. DICOM标准之一_介绍和概述
  14. 基督-神[上帝]的道,真理的本真归回
  15. 高数_第3章重积分_三重积分的奇偶性
  16. Latex在线简历制作
  17. 解决Mac鼠标不好用的问题
  18. JS实现雪花飘落特效效果
  19. matlab某奶制品加工厂,奶制品加工问题 - 数学建模.doc
  20. oracle11g 没有scott,Oracle11g中没有scott用户怎么办啊???

热门文章

  1. C#.NET快速开发框架-企业版V4.0截图打包下载
  2. windows安装解压版mysql
  3. php和java的一些比较
  4. [转载] 50个数据可视化最有价值的图表(附完整Python代码,建议收藏)
  5. .net core部署到Ubuntu碰到的问题
  6. NSDate NSTimerZone 时区转换
  7. PowerDesigner实用技巧小结(4)
  8. Windows Phone 更改datePicker的显示格式
  9. 项目管理沙龙第十一次聚会纪要--当敏捷没有共识的时候
  10. [导入]Nebula3学习笔记(5): IO系统