`
jammk
  • 浏览: 42730 次
文章分类
社区版块
存档分类
最新评论

Android全国天气预报SDK演示

阅读更多

今天要分享的是Android手机设备集成天气预报功能的方案。我采用的方案是使用聚合数据上的全国天气预报API。如需要,可申请:https://www.juhe.cn/docs/api/id/39

实现步骤:

1.到聚合数据官网上注册,然后申请申请全国天气预报SDK数据,生成AppKey。

2.配置工程,将开发包里的juhe_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:

3.根据接口说明文档找到以下方法:

<span style="font-family:SimSun;font-size:18px;">/**  
     * 根据城市名查询天气  
     *   
     * @param cityname  
     *            城市名,如:"苏州"  
     * @param format  
     *            未来6天预报(future)两种返回格式,1或2,默认1  
     *  
     * @param jsonCallBack  
     *   
     */  
    public void getByCitys(String cityname, int format, JsonCallBack jsonCallBack) /**  
     * 天气种类及标识列表  
     *   
     * @param jsonCallBack  
     *   
     */  
    public void getUni(JsonCallBack jsonCallBack) /**  
     *   
     * 根据IP查询天气  
     *   
     * @param ip  
     *            ip地址,如:58.215.185.154  
     * @param format  
     *            未来6天预报(future)两种返回格式,1或2,默认1  
     * @param jsonCallBack  
     *   
     */  
    public void getByIP(String ip, int format, JsonCallBack jsonCallBack)/**  
     *   
     * 根据GPS坐标查询天气  
     *   
     *   
     * @param lon  
     *            经度  
     * @param lat  
     *            纬度  
     * @param format  
     *            未来6天预报(future)两种返回格式,1或2,默认1  
     * @param jsonCallBack  
     *   
     */  
    public void getByGEO(double lat, double lon, int format, JsonCallBack jsonCallBack) /**  
     * 城市天气三小时预报  
     *   
     * @param cityname  
     * @param jsonCallBack  
     *   
     */  
    public void getForecast3h(String cityname, JsonCallBack jsonCallBack) /**  
     * 支持城市列表  
     *   
     * @param jsonCallBack  
     */  
    public void getCities(JsonCallBack jsonCallBack)</span>  

 4.程序中调用方法 

首先,在AnroidManifest.xml中添加权限

<uses-permission android:name="android.permission.READ_PHONE_STATE" />  
    <uses-permission android:name="android.permission.INTERNET" />  
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  
    <uses-permission android:name="android.permission.READ_CONTACTS" />  

 在application标签内部加入你申请的openid

<meta-data  
            android:name="com.thinkland.juheapi.openid"  
            android:value="申请的openid" />  

 

在使用前需要调用一次初始化方法

CommonFun.initialize(getApplicationContext());  

 

导入相关包

impimport com.thinkland.juheapi.common.CommonFun;import   
com.thinkland.juheapi.common.JsonCallBack;import   
com.thinkland.juheapi.data.weather.WeatherData  

 

调用方法

//根据城市名/id查询天气  
        WeatherData weatherData = WeatherData.getInstance();  
        weatherData.getByCitys("苏州", 1, new JsonCallBack() {  
  
            @Override  
            public void jsonLoaded(JSONObject arg0) {  
                // TODO Auto-generated method stub  
                try {  
                    int code = arg0.getInt("resultcode");  
                    if (code == 200) {  
                        JSONObject resultJson = arg0.getJSONObject("result");  
                    }  
                } catch (JSONException e) {  
                    // TODO Auto-generated catch block  
                    e.printStackTrace();  
                }  
            }  
        });  

 

 

 

 

 

分享到:
评论

相关推荐

    WJD.rar_ WJD_Android 天气预报_android_天气

    总之,"WJD.rar" 提供了一个完整的Android天气预报应用实例,对于想要学习Android应用开发,特别是关于天气查询和更新功能的开发者来说,这是一个非常有价值的资源。通过研究这个项目,可以深入理解Android应用的...

    android天气预报app(十分经典).rar.rar

    【标题】:“android天气预报app(十分经典).rar.rar”是一个关于Android平台开发天气预报应用程序的资源包。这个压缩文件可能包含了一个经典的Android应用实例,用于展示如何在Android平台上构建一个能够显示实时...

    Android 天气APP(一)开发准备

    天气APP包含自动定位、天气查询、天气预报、生活指数、每日一图、动画展示(运用百度定位与和风天气API制作) 演示视频地址 运行图片 扫描二维码下载安装 除添加service组件外,使用定位SDK还需添加如下权限: ...

    天气预报.zip

    总的来说,这个压缩包提供的资料可以帮助学习者了解如何在Android平台上开发一个天气预报应用,涵盖了从UI设计、网络请求、数据解析到应用架构等多个方面,是一份宝贵的安卓开发学习资源。通过研究这个项目,开发者...

    安卓天气预报课程设计.docx

    【摘要】中提到的是一款基于Android系统的天气预报应用的课程设计。这个应用允许用户通过选择城市获取相关的天气信息,如天气状况、风向、风速和温度等,旨在提供实时的天气信息,帮助用户规划出行,提高生活便利性...

    天气预报DEMO

    在Android应用开发中,"天气预报DEMO"通常是一个示例项目,用于演示如何通过网络接口获取并显示天气信息。这个DEMO的核心功能是利用Web Service来查询天气数据,允许用户手动选择不同的省市以获取相应的天气预报。让...

    基于Android的航班及天气查询系统手机app(源码 + 演示视频)

    本项目是一个实现航班查询和天气预报功能的Android移动应用程序。它为用户提供了一个便捷的平台,可以在手机上轻松查询航班信息以及获取实时天气状况。通过这个应用,用户可以计划行程,了解航班动态,同时掌握目的...

    android/ophone开发完全讲义

    通过集成GPS(全球定位系统)、Wi-Fi和移动网络数据,应用程序可以获取用户的实时地理位置信息,这对于地图导航、天气预报、社交应用等功能是必不可少的。Android SDK提供了Location API,使得开发者可以方便地获取...

    Android4.2 ApiDemo

    5. **Daydream**:Daydream是一种新的屏幕保护模式,可以显示动态的、交互式的内容,如新闻、天气预报等。 6. **OpenGL ES 3.0**:Android 4.2支持最新的OpenGL ES 3.0图形库,提供更强大的3D渲染能力,为游戏和...

    android定位

    在Android平台上,定位服务是应用程序开发中的重要组成部分,它允许用户获取设备的地理位置信息,用于导航、社交、天气预报等多种用途。"android定位"这个主题涵盖了许多关键知识点,包括GPS、网络定位、权限管理...

    android开发十个案例打包下载

    5. **天气预报**:天气应用需要从网络获取并解析JSON数据,这涉及到网络请求库(如Retrofit或OkHttp)和数据解析库(如Gson或Jackson)。还要展示实时和未来几天的天气信息,可能用到自定义View和动画效果。 6. **...

    android教程

    Widgets是可以在Home Screen上放置的小部件,提供快速访问应用功能的方式,例如天气预报或新闻摘要等。 #### 3.6 更多组件 除了上述组件外,Android还支持多种其他类型的组件,如Notification Manager、...

    android开发资料

    Android支持多种类型的Widgets,包括时钟、天气预报等。 **1.3 小结** 本章介绍了Android的基本概念、系统构架以及应用程序框架,同时对OPhone和Widget进行了简要说明,为后续的学习打下了基础。 #### 二、Android...

    App_PrevisaoDoTempo:Android应用程序使用Yahoo Weather API演示HTTP连接

    - RecyclerView:Android的列表视图组件,适合显示大量可滚动的数据,如天气预报列表。 - Adapter:适配器模式在RecyclerView中的应用,将数据模型绑定到视图。 6. **UI设计** - Material Design:Google推出的...

    导航犬(Go)是一款基于Android的增强现实步行导航软件,其地图服务由高德地图提供 .zip

    演示视频功能说明搜索兴趣点信息实景以及地图导航预报天气线上地图下载用户发起兴趣点信息语音播报以及语音识别项目导航犬增强现实模块基于ProAndroidAugmentedReality框架。此外,地图服务组件使用高德地图SDK,而...

    TestLocation

    在Android开发中,获取设备的经纬度是常见的需求,这对于实现地理位置相关功能至关重要,比如导航、定位服务、天气预报等。本项目“TestLocation”是一个关于Android获取经纬度的示例应用,它演示了如何利用Android ...

    Android widget(2-1)

    无论是提供即时天气预报、新闻摘要还是其他实用信息,小部件都能极大地提升用户的体验。未来,我们可以期待看到更多创新和实用的小部件出现,为用户带来更加便捷的生活方式。 #### 九、编后语 Android 小部件不仅...

    2021031406_基于安卓的航班及天气查询系统手机app.rar

    【标题】中的“2021031406_基于安卓的航班及天气查询系统手机app”表明这是一个在2021年3月14日开发的Android应用程序,专注于提供航班查询和天气预报服务。这样的应用通常涉及到移动开发、Android SDK、网络请求...

Global site tag (gtag.js) - Google Analytics