溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

發(fā)布時間:2020-05-08 14:04:37 來源:億速云 閱讀:278 作者:Leah 欄目:移動開發(fā)

這篇文章主要介紹了聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢交的方法,具有一定借鑒價值,需要的朋友可以參考下。如下資料是關(guān)于聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢的詳細步驟內(nèi)容。

1.libs聚合SDK是聚合數(shù)據(jù)平臺,為移動開發(fā)者提供的免費數(shù)據(jù)接口.使用前請先到聚合平臺(http://www.juhe.cn/)注冊,申請相關(guān)數(shù)據(jù).

2.下載聚合數(shù)據(jù)SDK,將開發(fā)包里的juhe_sdk_v_1_1.jar拷貝到libs根目錄下,將libJuheSDK_v_1_0.so拷貝到libs\armeabi目錄下,如圖:

聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

3.根據(jù)接口說明文檔找到以下方法:


Java代碼  聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

  1. /** 

  2.      * 根據(jù)城市名查詢天氣 

  3.      *  

  4.      * @param cityname 

  5.      *            城市名,如:"蘇州" 

  6.      * @param format 

  7.      *            未來6天預(yù)報(future)兩種返回格式,1或2,默認1 

  8.      * 

  9.      * @param jsonCallBack 

  10.      *  

  11.      */  

  12.     public void getByCitys(String cityname, int format, JsonCallBack jsonCallBack)   

  13.   

  14. /** 

  15.      * 天氣種類及標(biāo)識列表 

  16.      *  

  17.      * @param jsonCallBack 

  18.      *  

  19.      */  

  20.     public void getUni(JsonCallBack jsonCallBack)   

  21.   

  22. /** 

  23.      *  

  24.      * 根據(jù)IP查詢天氣 

  25.      *  

  26.      * @param ip 

  27.      *            ip地址,如:58.215.185.154 

  28.      * @param format 

  29.      *            未來6天預(yù)報(future)兩種返回格式,1或2,默認1 

  30.      * @param jsonCallBack 

  31.      *  

  32.      */  

  33.     public void getByIP(String ip, int format, JsonCallBack jsonCallBack)  

  34.   

  35. /** 

  36.      *  

  37.      * 根據(jù)GPS坐標(biāo)查詢天氣 

  38.      *  

  39.      *  

  40.      * @param lon 

  41.      *            經(jīng)度 

  42.      * @param lat 

  43.      *            緯度 

  44.      * @param format 

  45.      *            未來6天預(yù)報(future)兩種返回格式,1或2,默認1 

  46.      * @param jsonCallBack 

  47.      *  

  48.      */  

  49.     public void getByGEO(double lat, double lon, int format, JsonCallBack jsonCallBack)   

  50.   

  51. /** 

  52.      * 城市天氣三小時預(yù)報 

  53.      *  

  54.      * @param cityname 

  55.      * @param jsonCallBack 

  56.      *  

  57.      */  

  58.     public void getForecast3h(String cityname, JsonCallBack jsonCallBack)   

  59.   

  60. /** 

  61.      * 支持城市列表 

  62.      *  

  63.      * @param jsonCallBack 

  64.      */  

  65.     public void getCities(JsonCallBack jsonCallBack)   




4.程序中調(diào)用方法


首先,在AnroidManifest.xml中添加權(quán)限


Html代碼  聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

  1. <uses-permission android:name="android.permission.READ_PHONE_STATE" />  

  2. <uses-permission android:name="android.permission.INTERNET" />  

  3. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  

  4. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  

  5. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  

  6. <uses-permission android:name="android.permission.READ_CONTACTS" />  


在application標(biāo)簽內(nèi)部加入你申請的openid


Html代碼  聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

  1. <meta-data  

  2.         android:name="com.thinkland.juheapi.openid"  

  3.         android:value="申請的openid" />  


在使用前需要調(diào)用一次初始化方法


Java代碼  聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

  1. CommonFun.initialize(getApplicationContext());  



導(dǎo)入相關(guān)包


Java代碼  聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

  1. import com.thinkland.juheapi.common.CommonFun;  

  2. import com.thinkland.juheapi.common.JsonCallBack;  

  3. import com.thinkland.juheapi.data.weather.WeatherData;  






調(diào)用方法


Java代碼  聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

  1. //根據(jù)城市名/id查詢天氣  

  2.         WeatherData weatherData = WeatherData.getInstance();  

  3.         weatherData.getByCitys("蘇州"1new JsonCallBack() {  

  4.   

  5.             @Override  

  6.             public void jsonLoaded(JSONObject arg0) {  

  7.                 // TODO Auto-generated method stub  

  8.                 try {  

  9.                     int code = arg0.getInt("resultcode");  

  10.                     if (code == 200) {  

  11.                         JSONObject resultJson = arg0.getJSONObject("result");  

  12.                     }  

  13.                 } catch (JSONException e) {  

  14.                     // TODO Auto-generated catch block  

  15.                     e.printStackTrace();  

  16.                 }  

  17.             }  

  18.         });  





5.返回字段及相關(guān)錯誤碼


根據(jù)城市名/id查詢天氣

publicvoidgetByCitys(Stringcityname, JsonCallBackjsonCallBack)

返回字段:(注意:有些字段對應(yīng)的屬性值為空,使用時需判斷)

聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

publicvoidgetUni(JsonCallBackjsonCallBack)


返回字段:

聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

publicvoid getByIP(Stringip, JsonCallBackjsonCallBack)

返回字段

聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢


publicvoid getByIP(Stringip, JsonCallBackjsonCallBack)

返回字段同juhe.apis.weather.index(根據(jù)城市名/id查詢天氣)。



public void getByGEO(doublelat,doublelon,JsonCallBack jsonCallBack)


返回字段同juhe.apis.weather.index(根據(jù)城市名/id查詢天氣)。



public voidgetForecast3h(String cityname, JsonCallBackjsonCallBack)


返回字段:

聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

publicvoidgetCities(JsonCallBackjsonCallBack)

返回字段:

聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢

看完上訴內(nèi)容,你們掌握聚合數(shù)據(jù)Android SDK實現(xiàn)天氣查詢的方法了嗎?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI