A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何家旺 黑马粉丝团   /  2013-8-20 22:40  /  16843 人查看  /  157 人回复  /   9 人收藏 转载请遵从CC协议 禁止商业使用本文

如题,调用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.                                         }
复制代码
游客,如果您要查看本帖隐藏内容请回复

157 个回复

正序浏览
哈哈啊哈哈哈
回复 使用道具 举报
先看看看看
回复 使用道具 举报
chery 初级黑马 2019-10-10 16:44:46
155#
get 新知识
回复 使用道具 举报
chery 初级黑马 2019-10-10 16:43:44
154#
厉害厉害
回复 使用道具 举报
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 使用道具 举报
不错不错
回复 使用道具 举报
66666666666666666666666
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
加油,每天学一点新的东西
回复 使用道具 举报
好东西,想了解下哈哈哈哈哈哈哈哈
回复 使用道具 举报
好东西,想了解下
回复 使用道具 举报
回复 使用道具 举报
这个代码演示赢啊有意思
回复 使用道具 举报
2048 中级黑马 2018-9-13 15:20:26
144#
下载下载
回复 使用道具 举报
看看把强强强强
回复 使用道具 举报
888888888888888888888888
回复 使用道具 举报
kddddddddddddddddddddddddd
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
好东西啊,谢谢         
回复 使用道具 举报
今天天气真不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马