起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5372|回复: 12

[分享] 给大家分享一个可以获取天气的功能

  [复制链接]

1

主题

96

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
发表于 2016-7-19 13:40:50 | 显示全部楼层 |阅读模式
  1. public static JSONObject getWeather(JSONObject params, ActionContext context) throws SQLException, NamingException {
  2.    JSONObject json = new JSONObject();
  3.                        
  4.    String httpUrl = params.getString("httpUrl");
  5.    String httpArg = params.getString("httpArg");
  6.                        
  7.    BufferedReader reader = null;
  8.    String result = null;
  9.    StringBuffer sbf = new StringBuffer();
  10.    httpUrl = httpUrl + "?" + httpArg;

  11.    try {
  12.       URL url = new URL(httpUrl);
  13.       HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  14.       connection.setRequestMethod("GET");
  15.       // 填入自己的apikey到HTTP header
  16.       connection.setRequestProperty("apikey",  "b00b52e559c8246d8f10251f074ae27d");
  17.       connection.connect();
  18.       InputStream is = connection.getInputStream();
  19.       reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
  20.       String strRead = null;
  21.        while ((strRead = reader.readLine()) != null) {
  22.          sbf.append(strRead);
  23.          sbf.append("\r\n");
  24.      }
  25.      reader.close();
  26.      result = sbf.toString();
  27.                     } catch (Exception e) {
  28.       e.printStackTrace();
  29.                     }
  30.                     json.put("result", result);
  31.                     return json;
  32.                 }
复制代码


1

主题

96

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2016-7-19 13:43:00 | 显示全部楼层

//在JS直接调用

justep.Baas.sendRequest({
                        "url" : "/yuedong/yuedong",  //自定义的服务地址
                        "action" : "getWeather",  //action名称
                        "async" : false,
                        "params" : {
                                "httpUrl" : "http://apis.baidu.com/heweather/weather/free",  //API地址参数
                                "httpArg" : "city=beijing"                                                      //城市
                        },
                        "success" : function(data) {
                               //把结果转换成JSON对象
                                var result = JSON.parse(data.result)["HeWeather data service 3.0"][0];
                                debugger;
                                if(result.status == "ok"){
                                        console.log("城市:"+result.basic.cnty+" "+result.basic.city);
                                        console.log("污染程度:"+result.aqi.city.qlty);
                                        console.log("PM2.5:"+result.aqi.city.pm25);
                                        console.log("天气情况:"+result.now.cond.txt);
                                        console.log("温度:"+result.now.tmp+"℃");
                                        console.log("风向:"+result.now.wind.sc+result.now.wind.dir+"    风速:"+result.now.wind.spd+"kmph");
                                }
                        }
                });

回复 支持 反对

使用道具 举报

1

主题

96

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2016-7-19 13:44:04 | 显示全部楼层
这是结果
QQ截图20160719134329.png
回复

使用道具 举报

23

主题

109

帖子

507

积分

高级会员

Rank: 4

积分
507
QQ
发表于 2016-7-19 14:05:51 | 显示全部楼层
mark
回复

使用道具 举报

12

主题

133

帖子

473

积分

中级会员

Rank: 3Rank: 3

积分
473
QQ
发表于 2016-7-19 14:33:23 | 显示全部楼层
apikey去哪里弄
回复 支持 反对

使用道具 举报

1

主题

96

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2016-7-20 10:27:33 | 显示全部楼层

http://apistore.baidu.com/astore/classificationservicelist.html
这里申请,随便点个API进去就有申请的按钮,申请一个应该是所有API通用
回复 支持 反对

使用道具 举报

1

主题

96

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2016-7-20 10:27:51 | 显示全部楼层

http://apistore.baidu.com/astore/classificationservicelist.html
这里申请,随便点个API进去就有申请的按钮,申请一个应该是所有API通用

回复 支持 反对

使用道具 举报

12

主题

133

帖子

473

积分

中级会员

Rank: 3Rank: 3

积分
473
QQ
发表于 2016-7-20 16:57:50 | 显示全部楼层
luchuqi 发表于 2016-7-20 10:27
http://apistore.baidu.com/astore/classificationservicelist.html
这里申请,随便点个API进去就有申请 ...

ok 我试试
回复 支持 反对

使用道具 举报

31

主题

109

帖子

411

积分

中级会员

Rank: 3Rank: 3

积分
411
QQ
发表于 2016-7-21 12:56:07 | 显示全部楼层
M 标记一下
回复

使用道具 举报

165

主题

411

帖子

743

积分

高级会员

Rank: 4

积分
743
QQ
发表于 2016-7-21 16:26:28 | 显示全部楼层
"url" : "/yuedong/yuedong",  //自定义的服务地址
这个地址根据什么获取?能不能截图看看?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-19 13:46 , Processed in 0.101537 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表