当前位置: 代码迷 >> Android >> Android程序之全国天气预报查询(集合数据开发)
  详细解决方案

Android程序之全国天气预报查询(集合数据开发)

热度:48   发布时间:2016-04-28 02:03:08.0
Android程序之全国天气预报查询(聚合数据开发)

一、项目演示效果如下:
这里写图片描述
这里写图片描述

项目源代码下载地址:
http://yunpan.cn/cZVWIieuFyK9I 访问密码 2eac

二、使用 聚合数据SDK:
(1)聚合数据官网地址:http://www.juhe.cn/

(2)注册账号—创建一个新应用(在个人中心页面—数据中心—申请数据)–填入自己的应用–找到分类–天气预报—全国天气预报
这里写图片描述
(3)下载sdk (由于项目使用的是1点几的版本,所以请下载:包含在我的项目中!)
(4)参考开发文档:http://www.juhe.cn/juhesdk/adocs

这里介绍了聚合数据SDK的初始化和权限的使用!

三、项目介绍

(1)项目截图
这里写图片描述

(2)WeatherApplication.java这里作为sdk的初始化

package com.juhe.weather;import com.thinkland.juheapi.common.CommonFun;import android.app.Application;/** * 这里是初始化聚合数据的SDK *  * 需要在application中添加 android:name="com.juhe.weather.WeatherApplication *  * @author xuliugen *  */public class WeatherApplication extends Application {    @Override    public void onCreate() {        super.onCreate();        // 使用聚合SDK需要初始化的过程        CommonFun.initialize(getApplicationContext());    }}

我们需要在清单文件中加入:

android:name="com.juhe.weather.WeatherApplication"

这里写图片描述
(3)返回的json数据格式

{    "resultcode": "200",    "reason": "successed!",    "result": {        "sk": {            "temp": "19",            "wind_direction": "西北风",            "wind_strength": "1级",            "humidity": "37%",            "time": "16:00"        },        "today": {            "temperature": "5℃~19℃",            "weather": "多云转阴",            "weather_id": {                "fa": "01",                "fb": "02"            },            "wind": "南风微风",            "week": "星期五",            "city": "成都",            "date_y": "2015年03月13日",            "dressing_index": "较舒适",            "dressing_advice": "建议着薄外套、开衫牛仔衫裤等服装。年老体弱者应适当添加衣物,宜着夹克衫、薄毛衣等。",            "uv_index": "最弱",            "comfort_index": "",            "wash_index": "较适宜",            "travel_index": "",            "exercise_index": "较不宜",            "drying_index": ""        },        "future": {            "day_20150313": {                "temperature": "5℃~19℃",                "weather": "多云转阴",                "weather_id": {                    "fa": "01",                    "fb": "02"                },                "wind": "南风微风",                "week": "星期五",                "date": "20150313"            },            "day_20150319": {                "temperature": "10℃~18℃",                "weather": "阴",                "weather_id": {                    "fa": "02",                    "fb": "02"                },                "wind": "南风微风",                "week": "星期四",                "date": "20150319"            }        }    },    "error_code": 0}未来三天的json数据格式:{    "resultcode": "200",    "reason": "successed!",    "result": [{        "weatherid": "01",        "weather": "多云",        "temp1": "16",        "temp2": "13",        "sh": "17",        "eh": "20",        "date": "20150313",        "sfdate": "20150313170000",        "efdate": "20150313200000"    },    {        "weatherid": "02",        "weather": "阴",        "temp1": "19",        "temp2": "16",        "sh": "11",        "eh": "17",        "date": "20150320",        "sfdate": "20150320110000",        "efdate": "20150320170000"    }],    "error_code": 0}

(4)根据上述的json格式,我们需要创建相应的json试题对象,其中为了更好的处理,分别建立相应的类
这里写图片描述
这里写图片描述
上图中就是含有包含关系的json数据,容易出错!特此标记出来!

(5)WeatherService.java主要是处理后台服务的类,将数据的加载放在后台!

注意的是:
这里写图片描述

这里的白色部分的数值是在聚合数据上申请的时候的OpenID(在个人中心的中心首页就可以找到OpenID!)

  相关解决方案