1.到libs聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.
2.下载聚合数据SDK,将开发包里的juhe_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:
3.根据接口说明文档找到以下方法:
/**
* 根据城市名查询天气
*
* @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)
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());
导入相关包
import 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();
}
}
});
5.返回字段及相关错误码
根据城市名/id查询天气
publicvoidgetByCitys(Stringcityname,
JsonCallBackjsonCallBack)
返回字段:(注意:有些字段对应的属性值为空,使用时需判断)
名称
|
|
|
类型
|
说明
|
resultcode
|
|
|
int
|
返回码
|
reason
|
|
|
string
|
返回说明
|
result
|
|
|
dictionary
|
返回结果
|
sk
|
|
|
dictionary
|
当前实况天气
|
|
temp
|
|
int
|
当前温度
|
|
wind_direction
|
|
string
|
当前风向
|
|
wind_strength
|
|
string
|
当前风力
|
|
humidity
|
|
string
|
当前湿度
|
|
time
|
|
date
|
更新时间
|
today
|
|
|
dictionary
|
今日天气
|
|
city
|
|
string
|
城市
|
|
date_y
|
|
string
|
日期
|
|
week
|
|
string
|
星期
|
|
temperature
|
|
string
|
今日温度
|
|
weather
|
|
string
|
今日天气
|
|
weather_id
|
|
dictionary
|
天气唯一标识
|
|
|
fa
|
Int
|
天气标识00:晴
|
|
|
fb
|
int
|
天气标识53:霾 如果fa不等于fb,说明是组合天气
|
|
wind
|
|
string
|
风向与风力
|
|
dressing_index
|
|
string
|
穿衣指数(较冷)
|
|
dressing_advice
|
|
string
|
穿衣建议
|
|
uv_index
|
|
string
|
紫外线强度
|
|
comfort_index
|
|
string
|
舒适度指数
|
|
wash_index
|
|
string
|
洗车指数
|
|
travel_index
|
|
string
|
旅游指数
|
|
exercise_index
|
|
string
|
晨练指数
|
|
drying_index
|
|
string
|
干燥指数
|
future
|
|
|
array
|
未来几天天气(内部字典参数均能在today中找到)
|
error_code
|
|
|
int
|
错误码
|
publicvoidgetUni(JsonCallBackjsonCallBack)
返回字段:
名称
|
|
类型
|
说明
|
resultcode
|
|
int
|
返回码
|
reason
|
|
string
|
返回说明
|
result
|
|
array
|
返回结果集
|
|
wid
|
string
|
天气唯一标示符
|
|
weather
|
string
|
天气
|
error_code
|
|
int
|
错误码
|
publicvoid getByIP(Stringip,
JsonCallBackjsonCallBack)
返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。
public
void getByGEO(doublelat,doublelon,JsonCallBack
jsonCallBack)
返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。
public
voidgetForecast3h(String cityname, JsonCallBackjsonCallBack)
返回字段:
名称
|
|
类型
|
说明
|
resultcode
|
|
int
|
返回码
|
reason
|
|
string
|
返回说明
|
result
|
|
array
|
返回结果集
|
|
weatherid
|
int
|
天气标识ID
|
|
weather
|
string
|
天气
|
|
temp1
|
string
|
低温
|
|
temp2
|
string
|
高温
|
|
sh
|
string
|
开始小时
|
|
eh
|
string
|
结束小时
|
|
wid
|
string
|
天气唯一标示符
|
|
date
|
string
|
日期
|
|
sfdate
|
string
|
完整开始时间
|
|
efdate
|
string
|
完整结束时间
|
error_code
|
|
int
|
错误码
|
publicvoidgetCities(JsonCallBackjsonCallBack)
返回字段:
名称
|
|
类型
|
说明
|
resultcode
|
|
int
|
返回码
|
reason
|
|
string
|
返回说明
|
result
|
|
dictionary
|
返回结果集
|
|
id
|
int
|
城市ID
|
|
province
|
string
|
省份名称
|
|
city
|
string
|
城市名称
|
|
district
|
string
|
城市/区名称
|
error_code
|
|
int
|
错误码
|
错误码
|
说明
|
203901
|
查询城市不能为空
|
203902
|
查询不到该城市的天气
|
203903
|
查询出错,请重试
|
203904
|
错误的GPS坐标
|
203905
|
GPS坐标解析出错,请确认提供的坐标正确(暂支持国内)
|
203906
|
IP地址错误
|
203907
|
查询不到该IP地址相关的天气信息
|
分享到:
相关推荐
2. **Sample Code**:为了便于理解和使用,SDK可能会提供示例代码,演示如何初始化SDK、请求广告、处理广告展示和点击事件等基本操作。 3. **Documentation**:详细的文档指导,包括API参考、集成指南、故障排查等...
在“BaiduMapsApiASDemo”这个压缩包中,很可能包含了一个Android版的百度地图API示例应用,用于演示点聚合的实现。AS代表Android Studio,这通常意味着代码是用Java或Kotlin编写的。通过这个示例,我们可以了解到...
这个名为"安卓Andriod源码——多维报表.zip"的压缩包可能包含了一个完整的示例项目,用于演示如何在Android应用中实现这类功能。下面我们将详细探讨相关的知识点。 1. **多维数据分析**:多维报表通常基于多维数据...
【标题】"baidumapdemo.zip"是一个包含示例代码的压缩包,主要用于演示如何在Android应用中实现百度地图的多层级、多点聚合功能,以模仿链家找房的应用场景。通过这个示例,开发者可以学习如何将多个地理位置信息点...
9. **DemoNews**:这个文件名可能是指一个演示新闻源或者示例数据集,用于展示RSS阅读器如何加载和显示新闻内容。开发者可以使用这类数据测试应用的功能,确保其正确性和稳定性。 在开发Android RSS阅读器的过程中...
"今日头条demo(带数据)" 这个标题表明我们正在处理一个关于今日头条的演示项目,其中包含了实际的数据。这通常意味着开发者或学习者可以通过这个demo来了解和学习如何使用今日头条的API、数据接口或者SDK,进行...
【百度ssp全屏广告源码demo】是一款专为百度推广设计的源码示例,它提供了展示全屏广告的功能,并且能一次性展示11个广告代码位,这在广告优化和流量变现方面具有显著的优势。这个demo对于开发者来说,是一个理解和...
这个“Android 仿百度地图气泡程序源码”是一个示例项目,可以帮助开发者学习如何在Android地图上创建自定义的气泡提示信息。下面我们将详细探讨这个源码中的关键知识点。 1. **地图API集成**: - 使用Google Maps...
【百度地图demo】是开发者用来演示和学习百度地图API功能的应用示例,它涵盖了定位、聚合、热力图以及导航等多个关键功能。这个压缩包包含了多个版本的SDK示例,帮助开发者更好地理解和集成百度地图服务。 1. **...
SensoroSDKDemo是一个基于Java开发的项目,展示了在Sensoro(杭州思沃电子科技有限公司)实习期间使用Sensoro SDK创建的首个演示应用。Sensoro主要专注于物联网(IoT)技术,提供传感器硬件和相应的软件解决方案,使...
在本文中,我们将深入探讨如何实现友盟第三方登录、分享及推送功能,并通过一个名为"TestDemo"的示例项目来展示其实现过程。友盟是中国一家提供移动互联网服务的公司,其产品包括社交分享、消息推送、数据分析等多个...
- **测试项目**:TestOAD01是一个示例项目,用于演示如何在实际应用中使用OpenAdAdapter和OADUnityHelper。它可能包含了一些基本的Android UI元素,如按钮、布局和广告展示区域,以及相关的事件监听和回调函数。 -...
TVPlayerDemo是一个集成Vitamio SDK的电视播放应用程序示例。Vitamio是一个功能强大的多媒体框架,专为Android开发者设计,旨在简化在移动设备上处理音频和视频流的过程。这个Demo展示了如何在Android TV或者智能...
在移动应用开发领域,地图服务是不可或缺的一部分,而高德地图作为国内领先的地图服务商,提供了丰富的API和SDK,为开发者提供了强大的地图集成能力。"GaodeMapDemo.rar"这个压缩包文件,正是一个关于高德地图API...
5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...