`
super_521
  • 浏览: 50109 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

调用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<String> 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();
        }

分享到:
评论

相关推荐

    Spring Boot项目:使用第三方天气API接口实现天气预报功能 weather.zip

    Spring Boot项目:使用第三方天气API接口实现天气预报功能;使用redis缓存数据库进行数据缓存 接口示例:http://t.weather.sojson.com/api/weather/city/101010100

    JAVA用WebService实现调用天气预报功能

    项目能成功运行,jar包齐全,天气来源:中央气象台

    安卓三级联动省市联动多级联动相关-Android实现城市名称和编码的选择省份与城市的联动并且获得城市编号为后面天气预报调用Api提供帮助.rar

    Android 实现城市名称和编码的选择,省份与城市的联动 并且获得城市编号 为后面天气预报调用Api 提供帮助.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    android版本的天气预报

    本程序实现了android手机上的天气预报的功能,可以根据输入的城市名称,调用google weather API 接口实现想要找的城市未来四天内的天气预报功能!

    java调用中国天气网api获得天气预报信息的方法

    主要介绍了java调用中国天气网api获得天气预报信息的方法,可实现调用温度、风力风向及近期天气状况等功能,具有一定参考借鉴价值,需要的朋友可以参考下

    android api天气预报定位下拉刷新启动页

    程序功能实现了访问API、JSON数据解析、下拉刷新、定位城市、启动页加载等功能。初学安卓者可以参考一下。由于使用的是聚合的天气预报API,下载后不能直接使用,需要先去聚合后台(https://www.juhe.cn/)注册一个...

    JS版的天气预报 v1.0

     大陆仔天气预报是一个纯JS版的天气预报,调用了新浪的天气预报接口实现。具体功能如下:  支持根据用户IP来显示当地的天气预报 (使用了魔镜的 API)  支持用户搜索中国和国外城市的天气预报  将能够查询...

    PHP调用API接口实现天气查询功能的示例

    天气预报查询接口API,在这里我使用的是国家气象局天气预报接口 使用较多的还有:新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等。 1、查询方式 根据地名查询各城市天气情况 2.请求URL地址...

    用Java实现全国天气预报的api接口调用示例

    查询天气预报在APP中常用的一个常用功能,本文实例讲述了java调用中国天气网api获得天气预报信息的方法。分享给大家供大家参考。

    大陆仔天气预报查询源码v1.0

    大陆仔天气预报是一个纯JS版的天气预报,调用了新浪的天气预报接口实现。具体功能如下: ● 支持根据用户IP来显示当地的天气预报 (使用了魔镜的 API) ● 支持用户搜索中国和国外城市的天气预报 ● 将能够查询未来...

    大陆仔天气预报 v1.0

    大陆仔天气预报是一个纯JS版的天气预报,调用了新浪的天气预报接口实现。具体功能如下: ● 支持根据用户IP来显示当地的天气预报 (使用了魔镜的 API) ● 支持用户搜索中国和国外城市的天气预报 ● 将能够查询...

    项目源码-SpringBoot整合微信模板消息实现每日给女友发送早安问候语和天气预报.zip

    今天我们给大家分享一个使用微信消息模板每日定时推送早安问候语和天气预报的功能,学会了,块给你女朋友安排上吧 功能点: 1、微信公众平台申请账号及微信开放接口的调用。 2、百度地图天气API接口的调用。 3、...

    安卓天气预报及火车飞机时刻表

    主要是调用第三方服务查询天气预报和火车飞机时刻表,天气预报包含定位功能,利用百度API定位,第三方服务调用Webxml的服务,需注册获取id才能获取服务。

    易语言-天气预报

    程序结合易语言扩展界面支持库和易语言模块,调用API函数实现天气预报功能。易语言例程还使用到易语言互联网支持库,易语言多线程支持库,应用接口支持库。

    大陆仔天气预报,JS版的天气预报 v1.0

    摘要:脚本资源,Ajax/JavaScript,大陆仔,天气预报 大陆仔天气预报是一个纯JS版的天气预报,调用了新浪的天气预报接口实现。具体功能如下:  支持根据用户IP来显示当地的天气预报 (使用了魔镜的 API)  支持用户...

    最新高德地图demo

    android调用最新高德地图api实现天气预报,及位置定位功能等

    易语言-天气预报易语言

    源码结合易语言超文本浏览框,调用API函数实现天气预报功能。

    基于swift的实战项目

    该应用通过调用天气API,为用户提供实时天气信息和未来天气预报,帮助用户随时掌握天气动态。 项目目标: 熟悉Swift编程语言和iOS开发环境。 实现一个功能齐全、界面友好的天气预报应用。 提升移动端开发和网络...

    易语言-桌面天气预报

    程序结合易语言扩展界面支持库,调用API函数实现桌面天气预报功能。易语言例程还使用到易语言互联网支持库,编码转换支持库,超文本浏览框支持库,应用接口支持库。

Global site tag (gtag.js) - Google Analytics