一、项目演示效果如下:
项目源代码下载地址:
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!)