在Eclipse中創建Android項目,利用之前學過的WebView控件和中國天氣網提供的天氣數據接口,實現獲取指定城市的天氣預報。
	布局文件:
	res/layout/main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android/273915.html">android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/ll1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="4" android:gravity="center" android:orientation="horizontal" > <Button android:id="@+id/beijing" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="北京"/> <Button android:id="@+id/shanghai" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="上海"/> <Button android:id="@+id/haerbin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="哈爾濱"/> <Button android:id="@+id/changchun" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="長春"/> <Button android:id="@+id/shenyang" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="沈陽"/> <Button android:id="@+id/guangzhou" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="廣州"/> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal" > <WebView android:id="@+id/webview1" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout> </LinearLayout>
布局效果如圖
	
要在AndroidManifest.xml中設置強制橫屏(android:screenOrientation="landscape"):
<activity android:name=".MainActivity" android:screenOrientation="landscape" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
MainActivity:
package com.example.test;  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 MainActivity extends Activity implements OnClickListener{  private WebView webview;  @Override  public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);   webview=(WebView)findViewById(R.id.webview1);  //處理各種通知請求和事件,如果不使用該句代碼,將使用內置瀏覽器訪問網頁  webview.setWebViewClient(new WebViewClient());  webview.getSettings().setJavaScriptEnabled(true);//設置兼容JavaScript  webview.setWebChromeClient(new WebChromeClient());//處理JavaScript對話框  //設置默認顯示的天氣預報信息  webview.loadUrl("http://m.weather.com.cn/m/pn12/weather.htm");  webview.setInitialScale(57*4);//將網頁內容放大四倍   Button bj=(Button)findViewById(R.id.beijing);  bj.setOnClickListener(this);  Button sh=(Button)findViewById(R.id.shanghai);  sh.setOnClickListener(this);  Button hrb=(Button)findViewById(R.id.haerbin);  hrb.setOnClickListener(this);  Button cc=(Button)findViewById(R.id.changchun);  cc.setOnClickListener(this);  Button sy=(Button)findViewById(R.id.shenyang);  sy.setOnClickListener(this);  Button gz=(Button)findViewById(R.id.guangzhou);  gz.setOnClickListener(this);  }   @Override  public void onClick(View v) {  switch (v.getId()) {  case R.id.beijing: //單擊的是"北京"按鈕  openUrl("101010100T");  break;  case R.id.shanghai: //單擊的是"上海"按鈕  openUrl("101020100T");  break;  case R.id.haerbin: //單擊的是"哈爾濱"按鈕  openUrl("101050101T");  break;  case R.id.changchun: //單擊的是"長春"按鈕  openUrl("101060101T");  break;  case R.id.shenyang: //單擊的是"沈陽"按鈕  openUrl("101070101T");  break;  case R.id.guangzhou: //單擊的是"廣州"按鈕  openUrl("101280101T");  break;    default:  break;  }  }  private void openUrl(String id) {  //獲取并顯示天氣預報信息  webview.loadUrl("http://m.weather.com.cn/m/pn12/weather.htm?id="+id+"");  } } 別忘記在AndroidManifest.xml中加入訪問網絡的權限:
<!-- 添加鏈接網絡的權限 -->uses-permissionandroid:name="android.permission.INTERNET
運行結果如圖
	
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答