`
nivcheral
  • 浏览: 70778 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

天气预报

    博客分类:
  • java
阅读更多
public class WeatherUtil {   
  
    /**  
     * 使用 google 查询天气<br/>  
     * 上海: http://www.google.com/ig/api?hl=zh_cn&weather=shanghai  
     *   
     * @param city 城市拼音, 如 北京: beijing  
     */  
    public static String getweather(String city) {   
        StringBuilder sbd = new StringBuilder();   
        try {   
            String ur = "http://www.google.com/ig/api?hl=zh_cn&weather=";   
            java.net.URL url = new java.net.URL(ur + city);   
            java.io.InputStream in = url.openStream();   
  
            String st = "";   
            // 将流转换为 文本. 此一过程是为了解决乱码问题   
            java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();   
            int i = -1;   
            while ((i = in.read()) != -1)   
                bos.write(i);   
  
            // 转换编码为 GB18030, 否则会乱码   
            st = bos.toString().replace("<?xml version=\"1.0\"?>",   
                    "<?xml version=\"1.0\" encoding=\"GB18030\"?>");   
  
            // 将文本转换成流   
            java.io.InputStream inp = new java.io.ByteArrayInputStream(st   
                    .getBytes());   
  
            // 读取流   
            org.w3c.dom.Document doc = javax.xml.parsers.DocumentBuilderFactory   
                    .newInstance().newDocumentBuilder().parse(inp);   
  
            // 日期    
            org.w3c.dom.NodeList n1 = doc.getElementsByTagName(   
                    "forecast_information").item(0).getChildNodes();   
            // 城市:   
            sbd.append(n1.item(4).getAttributes().item(0).getNodeValue())   
                    .append(" ").append(city).append(" : ");   
  
            // 天气, 最高气温 最低气温   
            org.w3c.dom.NodeList n2 = doc.getElementsByTagName(   
                    "forecast_conditions").item(0).getChildNodes();   
            sbd.append(n2.item(4).getAttributes().item(0).getNodeValue())   
                    .append(", ").append(   
                            n2.item(1).getAttributes().item(0).getNodeValue())   
                    .append("℃ - ").append(   
                            n2.item(2).getAttributes().item(0).getNodeValue())   
                    .append("℃");   
  
        } catch (Exception e) {   
            sbd.append("获取天气失败或不存在此城市");   
        }   
        return sbd.toString();   
    }   
  
    public static void main(String[] args) {   
        System.out.println("北京天气: " + WeatherUtil.getweather("guangzhou"));   
    }   
}  

 

分享到:
评论
2 楼 lehehe 2014-08-24  
1 楼 lehehe 2014-08-24  
不太懂java,用了封装好的接口,http://www.haoservice.com/docs/6
还行!

相关推荐

    微信小程序 天气预报 (源码)

    微信小程序 天气预报 (源码)微信小程序 天气预报 (源码)微信小程序 天气预报 (源码)微信小程序 天气预报 (源码)微信小程序 天气预报 (源码)微信小程序 天气预报 (源码)微信小程序 天气预报 (源码)微信小程序 天气...

    安卓期末大作业Android天气预报app源码.zip

    安卓期末大作业Android天气预报app源码安卓期末大作业Android天气预报app源码安卓期末大作业Android天气预报app源码安卓期末大作业Android天气预报app源码安卓期末大作业Android天气预报app源码安卓期末大作业...

    小程序源码 天气预报 (代码+截图)

    小程序源码 天气预报 (代码+截图)小程序源码 天气预报 (代码+截图)小程序源码 天气预报 (代码+截图)小程序源码 天气预报 (代码+截图)小程序源码 天气预报 (代码+截图)小程序源码 天气预报 (代码+截图)小程序源码 ...

    易语言天气预报例程源码,易语言国内主要城市天气预报

    在本案例中,我们讨论的主题是"易语言天气预报例程源码",这是一段用于获取并显示中国主要城市天气预报的程序代码。 首先,我们要理解易语言的基本结构和语法。易语言的核心设计理念是“易学易用”,它的基本语句...

    Android Studio实现天气预报APP系统源码(也可做Android本科毕业设计).zip

    Android Studio实现天气预报APP系统源码(也可做Android本科毕业设计)天气预报 介绍做的一个天气预报demo,界面美观,实现了自动获取当前位置天气信息、根据天气更换背景图、更换城市、热门城市列表、记住设置的...

    天气预报天气预报天气预报天气预报

    天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报天气预报...

    json天气预报_jsonweather_安卓天气预报_

    JSON天气预报是一个基于JSON数据格式实现的安卓应用,主要用于提供实时的城市天气信息。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以文本形式存储和传递数据,易于人阅读和编写,同时也易于...

    Android天气预报实验报告

    【Android天气预报应用开发】 在Android平台上开发天气预报应用是一个典型的移动应用开发案例,涉及到网络数据获取、地理位置定位、UI设计以及数据存储等多个方面。以下是对这个实验报告中涉及的知识点的详细说明:...

    天气预报代码各种样式

    在IT行业中,网页开发是一项重要的技能,而天气预报作为日常生活中常见的信息查询需求,常常被开发者用作示例或实际项目中的功能实现。本主题聚焦于"天气预报代码各种样式",主要涉及到JSP(JavaServer Pages)和...

    Android Studio项目天气预报

    Android Studio 天气预报,含有基本功能:可以罗列全国所有的省、市、县;可以查看全国任意城市天气信息;可以自由切换城市,去产看其他城市的天气;提供手动更新以及后台自动更新天气功能。访问中国所有省份,需要...

    仿百度天气预报样式的echart静态html实例

    **标题详解:** "仿百度天气预报样式的echart静态html实例" 这个标题指出,我们将会讨论一个使用ECharts图表库创建的HTML页面,该页面模仿了百度天气预报的样式。ECharts是一个由百度开发的开源JavaScript图表库,...

    html javascript 天气预报 (内附源代码)

    在天气预报的场景下,可能包含标题、当前温度、未来几天的天气预报图标和文字描述等元素。 - 数据容器:HTML元素如`&lt;div&gt;`、`&lt;span&gt;`用于存放天气预报的数据,通过CSS进行样式设计,使其呈现出webQQ的风格。 2. ...

    基于QT的在线天气预报源码.zip

    "基于QT的在线天气预报源码.zip" 这个标题指出,这是一个包含使用QT开发的在线天气预报应用的源代码文件。QT是一个跨平台的应用程序开发框架,广泛用于创建图形用户界面(GUI)应用程序。这里的“在线天气预报”指的...

    安卓系统桌面天气预报

    【安卓系统桌面天气预报】是专门为安卓用户设计的一款桌面插件,它将实时的天气信息直接展示在手机或平板电脑的主屏幕上,为用户提供便捷的天气查询服务。这款插件以其精简的设计、优美的界面、高效的性能以及快捷的...

    基于Qt5的天气预报.zip

    《基于Qt5的天气预报应用开发详解》 在信息技术飞速发展的今天,各种应用程序的开发已经成为日常生活的一部分。本文将深入探讨一个使用Qt5框架开发的天气预报应用,它结合了C++编程语言、cJson库以及天气预报API,...

    Web Service 解读天气预报WSDL获取天气程序

    在这个特定的项目中,我们关注的是如何使用Web Service来获取天气预报信息,特别是通过解析WSDL(Web Services Description Language)文件。WSDL是一种XML格式,用于定义服务的位置、接口以及如何调用这些服务。 ...

    Android本科毕业设计基于Android的天气预报APP系统源码.zip

    Android本科毕业设计基于Android的天气预报开发APP系统源码。显示城市当前的实时天气状况,包括城市名称、城市名片、天气情况、温度高低、星期等信息。界面左边有一列城市列表,显示中国各个城市名称,当用户想知道...

    微信小程序demo:精品天气预报;使用百度地图API(源代码+截图)

    微信小程序demo:精品天气预报;使用百度地图API(源代码+截图)微信小程序demo:精品天气预报;使用百度地图API(源代码+截图)微信小程序demo:精品天气预报;使用百度地图API(源代码+截图)微信小程序demo:精品天气...

    天气预报需求说明书

    ### 天气预报需求说明书知识点解析 #### 一、项目概述 - **项目名称**:Android天气预报应用 - **项目组**:第六组 - **联系人**:曲泰、李洪磊、李浩术、高勇、宋海东、张文鹏 - **联系方式**:电话和电子邮件...

Global site tag (gtag.js) - Google Analytics