天候や風の天気へのAndroid SDKへのアクセス

それは天候の状況を記録しに来たときにアプリケーションを書くには、そのプロセスが記録風の天候を使用します。

導入風や天候に依存するJARパッケージ

ジャーパッケージのダウンロードリンクhttps://dev.heweather.com/docs/sdk/androidは、次のダウンインポート後に、詳細には触れませんが、あなたは追加して、導入の公式ウェブサイトによると、プロジェクト内のbuild.gradle依存ファイルに追加する必要があります次の二つに依存

implementation 'com.squareup.okhttp3:okhttp:3.3.0'
implementation 'com.google.code.gson:gson:2.6.2'

必要不可欠なネットワーク特権である、AndroidManifest.xmlファイルにパーミッションを追加します。

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

第二に、アプリケーションのユーザー名とキー

風の公式ウェブサイト登録のアカウントに、コンソールを入力して、新しいアプリケーション

次に、キーの名前を入力し、アプリケーションキーを追加し、パッケージ名はユーザー名とキーを取得することができます

録音uernameとキーの下に、コードの作成に使用されます

第三に、APIからの天気予報を取得します

コアコードは次のとおりです。私は結果がTextViewにそれらに表示されて返されます。

1、HeConfig.init(文字列名、文字列のキー)を初期化するためには、私は彼らのonCreateに直接書き込みます。

2、HeConfig.switchToFreeServerNode();変換サーバノード、私は様々な要素が設定されている使用することを始めたが、要求したデータへのアクセスは、文書へのアクセスを拒否された場合、後に公式を発見した特別な注意を配置する必要があり、ありますこの通路の下に、その無料サービスを利用するためにサーバーノードを変換します。

  • お支払いのデフォルト中国のドメインネームサービスノード HeConfig.switchToCNBusinessServerNode();
  • 個々の開発者、企業、開発者、および他の一般ユーザーの自由なすべてのデータのユーザーは無料のドメインネームサービスに切り替える必要がありHeConfig.switchToFreeServerNode();

3は、このリスナーgetWeatherNowとOnResultWeatherNowBeanListenerによって返されるデータを監視するために、最初のパラメータは、現在の活動で、第二引数はSDKのローカル公式を使用するには、このSDKには、比較的容易に、市のコーディング(公式サイトを見つけることができる)であります豆を私たちに提供している、あなたは、私はそれらを表示するために、直接JSONのTextViewを扱う、そして実際に内部と契約をしたが、出力のSystem.outビットとしなかったでは、するonSuccess方法でデータを解析することができますメイン処理は、そのJSON構造に返されます

@Override
    protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_cameraimage); tview = findViewById(R.id.textView); HeConfig.init("your username", "your key"); HeConfig.switchToFreeServerNode(); HeWeather.getWeatherNow(MainActivity.this, "CN101120301", new HeWeather.OnResultWeatherNowBeanListener() { @Override public void onError(Throwable e) { System.out.println(e.toString()); //Log.i(TAG, "onError: ", e); } @Override public void onSuccess(List<Now> dataObject) { System.out.println("-----------"); System.out.println(new Gson().toJson(dataObject)); try { JSONArray wdata = new JSONArray(new Gson().toJson(dataObject)); JSONObject jobj = wdata.getJSONObject(0).getJSONObject("now"); System.out.println(jobj.getString("cond_txt")); System.out.println(jobj.getString("wind_dir")); System.out.println(jobj.getString("tmp")); } catch (JSONException e) { e.printStackTrace(); } tview.setText(new Gson().toJson(dataObject)); //Log.i(TAG, " Weather Now onSuccess: " + new Gson().toJson(dataObject)); } }); }

おすすめ

転載: www.cnblogs.com/horizonhui/p/11099948.html