一、项目演示效果如下:
项目源代码下载地址:
http://yunpan.cn/cZVWIieuFyK9I 访问密码 2eac
二、使用 聚合数据SDK:
(1)聚合数据官网地址:https://www.juhe.cn/
(2)注册账号—创建一个新应用(在个人中心页面—数据中心—申请数据)–填入自己的应用–找到分类–天气预报—全国天气预报
(3)下载sdk (由于项目使用的是1点几的版本,所以请下载:包含在我的项目中!)
(4)参考开发文档:https://www.juhe.cn/juhesdk/adocs
这里介绍了聚合数据SDK的初始化和权限的使用!
x三、项目介绍**
(1)项目截图
(2)WeatherApplication.java这里作为sdk的初始化
<pre>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());
}
}</pre>
我们需要在清单文件中加入:
<pre>android:name="com.juhe.weather.WeatherApplication"</pre>
(3)返回的json数据格式
<pre>{
"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
}</pre>
(4)根据上述的json格式,我们需要创建相应的json试题对象,其中为了更好的处理,分别建立相应的类
上图中就是含有包含关系的json数据,容易出错!特此标记出来!
(5)WeatherService.java主要是处理后台服务的类,将数据的加载放在后台!
注意的是:
这里的白色部分的数值是在聚合数据上申请的时候的OpenID(在个人中心的中心首页就可以找到OpenID!)