Android開發學習:[25]Android獲取天氣預報?

本經驗將介紹Android如何獲取天氣預報主要使用了中國天氣網的接口,使用webView顯示。

工具/原料

Android Studio

方法/步驟

首先我們打開下載安裝好的Android Studio然後新建一個項目,我這裡為了方便就直接添加一個Activity了

Android開發學習:[25]Android獲取天氣預報

然後我們添加界面佈局代碼,佈局如下:

android:gravity="center_horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:orientation="horizontal"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

>

android:id="@+id/bj"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/bj" />

android:id="@+id/sh"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/sh" />

android:id="@+id/heb"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/heb" />

android:id="@+id/cc"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/cc" />

android:id="@+id/sy"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/sy" />

android:id="@+id/gz"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/gz" />

android:layout_width="wrap_content"

android:layout_height="0dip"

android:focusable="false"

android:layout_weight="1"

/>

Android開發學習:[25]Android獲取天氣預報

然後我們添加後臺代碼:

package com.basillee.asus.demo;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.webkit.WebChromeClient;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.Button;

public class MainActivity7 extends Activity implements OnClickListener {

private WebView webView; //聲明WebView組件的對象

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main_activity7);

webView=(WebView)findViewById(R.id.webView1); //獲取WebView組件

webView.getSettings().setJavaScriptEnabled(true); //設置JavaScript可用

webView.setWebChromeClient(new WebChromeClient()); //處理JavaScript對話框

webView.setWebViewClient(new WebViewClient()); //處理各種通知和請求事件,如果不使用該句代碼,將使用內置瀏覽器訪問網頁

webView.loadUrl("http://m.weather.com.cn/m/pn12/weather.htm "); //設置默認顯示的天氣預報信息

webView.setInitialScale(57*4); //放網頁內容放大4倍

Button bj=(Button)findViewById(R.id.bj); //獲取佈局管理器中添加的“北京”按鈕

bj.setOnClickListener(this);

Button sh=(Button)findViewById(R.id.sh); //獲取佈局管理器中添加的“上海”按鈕

sh.setOnClickListener(this);

Button heb=(Button)findViewById(R.id.heb); //獲取佈局管理器中添加的“哈爾濱”按鈕

heb.setOnClickListener(this);

Button cc=(Button)findViewById(R.id.cc); //獲取佈局管理器中添加的“長春”按鈕

cc.setOnClickListener(this);

Button sy=(Button)findViewById(R.id.sy); //獲取佈局管理器中添加的“瀋陽”按鈕

sy.setOnClickListener(this);

Button gz=(Button)findViewById(R.id.gz); //獲取佈局管理器中添加的“廣州”按鈕

gz.setOnClickListener(this);

}

@Override

public void onClick(View view){

switch(view.getId()){

case R.id.bj: //單擊的是“北京”按鈕

openUrl("101010100T");

break;

case R.id.sh: //單擊的是“上海”按鈕

openUrl("101020100T");

break;

case R.id.heb: //單擊的是“哈爾濱”按鈕

openUrl("101050101T");

break;

case R.id.cc: //單擊的是“長春”按鈕

openUrl("101060101T");

break;

case R.id.sy: //單擊的是“瀋陽”按鈕

openUrl("101070101T");

break;

case R.id.gz: //單擊的是“廣州”按鈕

openUrl("101280101T");

break;

}

}

//打開網頁的方法

private void openUrl(String id){

webView.loadUrl(";+id+" "); //獲取並顯示天氣預報信息

}

}

Android開發學習:[25]Android獲取天氣預報

然後我們點擊Android Studio上面的運行按鈕:

Android開發學習:[25]Android獲取天氣預報

這裡要訪問網絡我們要添加權限:

Android開發學習:[25]Android獲取天氣預報

我們然後可以在模擬器上面可以看到獲取的天氣情況

Android開發學習:[25]Android獲取天氣預報

注意事項

本系列經驗喜歡的可以在下面系列經驗查看

按鈕, 天氣預報, 大學, 中國天氣網,
相關問題答案