聚合数据Android SDK 天气查询演示示例
1.到libs聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据. 2.下载聚合数据SDK,将开发包里的juhe_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libsarmeabi目录下,如图: 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,JsonCallBack jsonCallBack) /** * * 根据GPS坐标查询天气 * * * @param lon * 经度 * @param lat * 纬度 * @param format * 未来6天预报(future)两种返回格式,1或2,默认1 * @param jsonCallBack * */ public void getByGEO(double lat,double lon,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查询天气 publicvoid?getByCitys(Stringcityname,JsonCallBackjsonCallBack)?返回字段:(注意:有些字段对应的属性值为空,使用时需判断)
?
public?void?getUni(JsonCallBackjsonCallBack)返回字段:
? publicvoid getByIP(Stringip,62)">jsonCallBack)返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。 public void getByGEO(doublelat,doublelon,JsonCallBack jsonCallBack) 返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。 public voidgetForecast3h(String cityname,JsonCallBackjsonCallBack)
? public?void?getCities(JsonCallBackjsonCallBack) ? ? ? ? 返回字段:
? ? ? ?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |