黑马程序员技术交流社区

标题: 调用中国天气网api获得天气预报信息 [打印本页]

作者: 何家旺    时间: 2013-8-20 22:40
标题: 调用中国天气网api获得天气预报信息
如题,调用API实现天气预报功能!
  1. //通过中国天气api调用
  2.         private String getWeatherInfo2(){
  3.                 StringBuilder info = new StringBuilder();
  4.                 try {
  5.                         DefaultHttpClient httpclient = new DefaultHttpClient();
  6.                         HttpGet httget = new HttpGet("http://m.weather.com.cn/data/101050101.html");
  7.                         ResponseHandler<String> responseHandler = new BasicResponseHandler();
  8.                         String responseBody = httpclient.execute(httget, responseHandler);
  9.                         System.out.println(responseBody);
  10.                         JsonParser jp = new JsonParser();
  11.                         JsonElement jse = jp.parse(responseBody);
  12.                         JsonObject jso = jse.getAsJsonObject().get("weatherinfo").getAsJsonObject();
  13. //                        String updTime = jso.get("fchh").getAsString();
  14. //                        if(updTime != null){
  15. //                                //温度
  16. //                                String j = jso.get("temp1").getAsString();//今天
  17. //                                String m = jso.get("temp2").getAsString();//明天
  18. //                                //天气情况
  19. //                                String j_weather = jso.get("weather1").getAsString();//今天
  20. //                                String m_weather = jso.get("weather2").getAsString();//明天
  21. //                                //风向风力
  22. //                                String j_wind = jso.get("wind1").getAsString();//今天
  23. //                                String m_wind = jso.get("wind2").getAsString();//明天
  24. //                                info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");
  25. //                                info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");
  26. //                        }
  27.                         String updTime = jso.get("fchh").getAsString();
  28.                         if(updTime != null){
  29.                                 if(!updTime.trim().equals("18")){
  30.                                         //温度
  31.                                         String j = jso.get("temp1").getAsString();//今天
  32.                                         String m = jso.get("temp2").getAsString();//明天
  33.                                         //天气情况
  34.                                         String j_weather = jso.get("weather1").getAsString();//今天
  35.                                         String m_weather = jso.get("weather2").getAsString();//明天
  36.                                         //风向风力
  37.                                         String j_wind = jso.get("wind1").getAsString();//今天
  38.                                         String m_wind = jso.get("wind2").getAsString();//明天
  39.                                         info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");
  40.                                         info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");
  41.                                 }else{
  42.                                         //18
  43.                                         //温度
  44.                                         String temp1 = jso.get("temp1").getAsString();//今天
  45.                                         String temp2 = jso.get("temp2").getAsString();//今天
  46.                                         String temp3 = jso.get("temp3").getAsString();//今天
  47.                                         String j = temp1.split("~")[1] + "~" +  temp2.split("~")[0];
  48.                                         String m = temp2.split("~")[1] + "~" + temp3.split("~")[0];//明天
  49.                                         //天气情况
  50.                                         String weather1 = jso.get("weather1").getAsString();
  51.                                         String weather2 = jso.get("weather2").getAsString();
  52.                                         String weather3 = jso.get("weather3").getAsString();
  53.                                         String j_weather = "";
  54.                                         String j_weather_part1 = "";
  55.                                         String j_weather_part2 = "";
  56.                                         //判断是否有转
  57.                                         if(weather1.indexOf("转") > 0){
  58.                                                 //有
  59.                                                 j_weather_part1 = weather1.split("转")[1];
  60.                                         }else{
  61.                                                 j_weather_part1 = weather1;
  62.                                         }
  63.                                         if(weather2.indexOf("转") > 0){
  64.                                                 //有
  65.                                                 j_weather_part2 = weather2.split("转")[0];
  66.                                         }else{
  67.                                                 j_weather_part2 = weather2;
  68.                                         }
  69.                                         if(j_weather_part1.equalsIgnoreCase(j_weather_part2)){
  70.                                                 j_weather = j_weather_part1;//今天
  71.                                         }else{
  72.                                                 j_weather = j_weather_part1 + "转" + j_weather_part2;//今天
  73.                                         }
  74.                                         String m_weather = "";
  75.                                         String m_weather_part1 = "";
  76.                                         String m_weather_part2 = "";
  77.                                         //判断是否有转
  78.                                         if(weather2.indexOf("转") > 0){
  79.                                                 //有
  80.                                                 m_weather_part1 = weather2.split("转")[1];
  81.                                         }else{
  82.                                                 m_weather_part1 = weather2;
  83.                                         }
  84.                                         if(weather3.indexOf("转") > 0){
  85.                                                 //有
  86.                                                 m_weather_part2 = weather3.split("转")[0];
  87.                                         }else{
  88.                                                 m_weather_part2 = weather3;
  89.                                         }
  90.                                         if(m_weather_part1.equalsIgnoreCase(m_weather_part2)){
  91.                                                 m_weather = m_weather_part1;//今天
  92.                                         }else{
  93.                                                 m_weather = m_weather_part1 + "转" + m_weather_part2;//明天
  94.                                         }
复制代码


作者: lvjayj    时间: 2013-8-21 09:03
好东西,学习了~~
作者: ℡跡....    时间: 2013-8-21 11:57
好东西当然要学习了。。

作者: Samki    时间: 2013-8-21 14:04
好东西呀

作者: xiaosha_vip    时间: 2013-8-21 17:47
嗯...可以看看
作者: 想你 已成习惯    时间: 2013-8-22 16:20
越来越佩服你了
作者: 转身大笑面对    时间: 2013-8-26 16:24
好东东唉唉唉
作者: HG_TYF    时间: 2013-8-27 22:39
学习学习。
作者: itheima01    时间: 2013-9-2 10:36
看看好东西谢谢
作者: CodeWeb    时间: 2013-9-27 20:11
。。。。。。。。。。。。。。。。
作者: 斗胆潇洒    时间: 2013-9-28 19:19
LOOK,顺带试试
作者: wangaowell    时间: 2013-9-28 22:06
好东西,顶一个!

作者: 九命猫    时间: 2013-10-2 10:57
还有更多内容啊

作者: 醒丶了4    时间: 2013-10-11 08:56
试一下,看看什么情况
作者: 天气良好    时间: 2013-11-1 20:42

好东西,学习了~~
作者: 与草陪伴的小树    时间: 2013-11-1 22:58
dddddddddddddddddddddddddddd
作者: 冷漠无天    时间: 2013-11-9 15:03
不错过来看看
作者: 风乐    时间: 2013-12-20 16:01
调用中国天气网api获得天气预报信息
作者: chensc    时间: 2013-12-21 15:09
学习学习!
作者: chensc    时间: 2013-12-26 08:20
学习学习!
作者: 眼眸沦陷    时间: 2013-12-26 17:32
很不错的东西,值得学习学习。。
作者: 飞云    时间: 2014-2-10 22:17
看看。。。。
作者:  ◆゛わ卡布奇    时间: 2014-2-15 14:13
支持下!!!!!!
作者:  ◆゛わ卡布奇    时间: 2014-2-15 14:17
很不错的东西,学习下
作者: ucq    时间: 2014-2-26 12:37
非常感谢,帮助很大
作者: thams1    时间: 2014-2-27 22:02
好东西,学习一下
作者: xihr    时间: 2014-3-8 14:33
好东西,学习了~~
作者: chensc    时间: 2014-3-10 08:07
学习学习!
作者: 卢泽    时间: 2014-3-10 10:33
为了查看,回复一下。
作者: chensc    时间: 2014-3-22 21:01
学习学习!
作者: lilin202011    时间: 2014-3-24 22:26
不错,收藏了,以后在项目运用中起大作用
作者: 灰太狼爱平底锅1    时间: 2014-3-26 12:59
好东东啊。。
作者: C、一个画不完的    时间: 2014-3-29 11:11
现在正好用得上这个东东。

作者: brucer    时间: 2014-4-12 18:14
:lol:lol:lol:lol:lol
作者: 瞌睡虫    时间: 2014-5-10 14:32
RE: 调用中国天气网api获得天气预报信息 [修改]
作者: hhmm665544    时间: 2014-5-15 14:49
看看怎么写的
作者: 韩天雷    时间: 2014-5-24 07:15
支持一下~~~
作者: AntThinking_toT    时间: 2014-5-27 16:35
数据返回格式是JSON的
作者: 冯云飞    时间: 2014-5-31 11:06
学习了
作者: 枫桥夜泊    时间: 2014-5-31 22:14
好东西!!!受教了
作者: 枫桥夜泊    时间: 2014-5-31 22:16
内容完整不??
作者: 守護天使.ヽ犯賤    时间: 2014-6-10 12:10
正需要这款软件,呵呵
作者: 罗中扬    时间: 2014-6-10 21:23
感觉挺高大上的
作者: hero112200    时间: 2014-6-19 19:16
http调用的方式,还可以用webservice调用的方式……
作者: 悟空、孙    时间: 2014-6-27 07:15
nice,好东西啊……
作者: 冰雪里的男孩    时间: 2014-7-8 09:25
感谢感谢
作者: 孙宏图    时间: 2014-7-8 23:09
复制过来看看自己能用不能
作者: Light_time    时间: 2014-7-10 10:24
以后可以用
作者: gyqiang2009    时间: 2014-7-20 21:43
好的,非常谢谢
作者: CYP86892906    时间: 2015-8-12 09:51
kkkkkkkkkkkkkkkkkkkkkkkkkkkkk
作者: dk_mrbai    时间: 2015-8-12 22:01
谢谢,先记下了,以后可能用得着
作者: 3174918418    时间: 2015-8-13 19:57
谢谢分享
作者: 果子1    时间: 2015-8-28 17:59
好东西啊  
作者: ′_kill    时间: 2015-8-29 08:01
.。。。。。。。。。。。
作者: 雨来    时间: 2015-10-21 17:50
这就是API啊,嘿嘿
作者: 晚上出现    时间: 2015-11-6 23:35
你屌炸了,你照吗?
作者: waimifeier    时间: 2015-11-21 00:41
还不错{:2_30:}
作者: 风之旅人    时间: 2015-11-25 19:05
努力学习努力学习
作者: suifeng010    时间: 2016-1-3 18:26
看看,学习一下
作者: 猿明猿    时间: 2016-9-16 22:56
学习一下
作者: DevinJemit    时间: 2016-9-17 00:34
3333333333333333333
作者: newu    时间: 2016-9-17 15:10
好东西,顶一个
作者: room200800    时间: 2016-10-29 00:18
这个必须下载看看,学习学习!!!
作者: 暗黑克里斯    时间: 2016-11-13 02:19
顶顶顶顶顶顶顶顶
作者: bekkalee    时间: 2016-12-14 14:34
想学习一下。。。
作者: 事难懂    时间: 2017-1-7 17:33
头晕了,看不懂
作者: 兴兴海宝    时间: 2017-1-8 20:00
学习学习
作者: 身探敌人姐    时间: 2017-1-21 17:36
感谢分享
作者: 1317350220    时间: 2017-1-25 12:40
谢谢啦,,谢谢啦
作者: 448561104    时间: 2017-2-21 09:31
看看.......................
作者: java小百    时间: 2017-2-26 20:32
好帖顶顶顶

作者: iscream    时间: 2017-3-10 10:18
如何获得技术分
作者: lfx2017    时间: 2017-7-26 10:59
api调用啊     啊啊
作者: 大爱无言    时间: 2017-7-26 11:37
谢谢分享

作者: 小小kk    时间: 2017-7-26 16:29
嗯 可以看看
作者: 宏博    时间: 2017-7-26 20:32
学习了.......................................................
作者: 菜鸟hh    时间: 2017-8-6 13:25

越来越佩服你了
作者: 陶乐乐    时间: 2017-8-15 00:16
佩服,学习

作者: 陶乐乐    时间: 2017-8-15 00:25
好好学习天天向上

作者: liukuankuan    时间: 2017-8-15 10:46
桃花运默契民歌东奔西跑以硒鼓
作者: chinatwc    时间: 2017-8-18 08:57

好东西,学习了~~
作者: zjsj    时间: 2017-8-22 23:03
瞅瞅瞅瞅瞅瞅瞅瞅
作者: Rollback    时间: 2017-8-23 22:30
666666666666666666666
作者: rimfwfn    时间: 2017-8-23 22:58
高大尚呀,学习了
作者: 程序员扛把子    时间: 2017-8-24 11:21
太棒了,做个参考
作者: glp344    时间: 2017-9-15 09:32
好东西当然要学习了。。
作者: D-Yan    时间: 2017-9-15 15:31
!!!!!!!!!!!!!

作者: 璃霞    时间: 2017-9-19 14:13
还有什么?
作者: IT路上的老男孩    时间: 2017-9-26 16:36
好人一生平安
作者: jakelong    时间: 2017-9-26 22:49
好东西,谢谢楼主
作者: 榕树长枫叶    时间: 2017-9-27 09:12
学习用品
作者: xgwhsgws    时间: 2017-9-28 22:27
很有用,值得学习,感谢楼主分享
作者: hz有盼头啊    时间: 2017-10-7 14:57
感谢分享

作者: SWmlhlzds    时间: 2017-10-8 13:39
感谢楼主
作者: zhangnx    时间: 2017-10-9 17:46
很好,非常感谢
作者: konglingzhi    时间: 2017-10-10 07:26
,,,,,

作者: hu飞飞    时间: 2017-10-18 11:23
         q

作者: hu飞飞    时间: 2017-10-18 11:24
           bb

作者: StevenLi    时间: 2017-10-18 16:49
么么哒三
作者: 可恶的小蛋    时间: 2017-10-18 19:57
真的吗  111111111111111111111111111




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2