標籤:android開發之網頁瀏覽器 webview的使用 websettings的使用 webview載入本地網頁 webview載入assets目錄下的網
本執行個體主要介紹WebView的使用,WebView的詳解可參考Android開發之WebView詳解。
本執行個體主要實現了:瀏覽器可以開啟指定網頁,可以載入assets目錄下的本地網頁,並且可以通過回退鍵查看上一個網頁。
程式運行:
程式碼:
package com.jph.simplebrowser;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.view.KeyEvent;import android.view.Menu;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;/** * Describe:</br> * 簡單網頁瀏覽器 * 本執行個體可以開啟指定網頁,並且可以載入assets目錄下的本地網頁 * @author JPH * Date:2014.08.03 * */public class SimpleBrowser extends Activity {WebView webView;//聲明一個WebView輔助類WebSettings wSettings;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);webView=(WebView)findViewById(R.id.webView);//擷取WebSettings對象wSettings=webView.getSettings();//啟用觸控縮放wSettings.setBuiltInZoomControls(true);//啟用支援視窗meta標記(可實現雙擊縮放)wSettings.setUseWideViewPort(true);//以縮圖模式載入頁面wSettings.setLoadWithOverviewMode(true);//啟用JavaScript支援wSettings.setJavaScriptEnabled(true);//設定將接收各種通知和請求的WebViewClient(在WebView載入所有的連結)webView.setWebViewClient(new WebViewClient());//設定預設載入的網頁webView.loadUrl("http://www.baidu.com/");//載入本地assets目錄下的的html,也可以是網路上的檔案//webView.loadUrl("file:///android_asset/win8_Demo/index.html");}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubswitch (keyCode) {case KeyEvent.KEYCODE_BACK://處理返回鍵事件if (webView.canGoBack()) {webView.goBack();//讓WebView回退到上一個網頁return true;}else {//如果WebView不能回退//提示應用是否退出程式new AlertDialog.Builder(SimpleBrowser.this).setTitle("提示").setMessage("確定退出瀏覽器嗎?").setPositiveButton("確定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubSimpleBrowser.this.finish();//退出程式}}).setNegativeButton("取消",null).show();}break;case KeyEvent.KEYCODE_SEARCH://當//webView.loadUrl("");break;default:break;}return false;}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.simple_browser, menu);return true;}}
布局檔案:main.xml
<WebView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" > </WebView>
最後不要忘記給程式添加訪問網路的許可權:
<!-- 添加使用網路的許可權 --><uses-permission android:name="android.permission.INTERNET"/>