標籤:android webview java internet
如果我們想提供一個web應用程式(或只是一個網頁)作為用戶端應用程式的一部分,我們可以使用WebView。WebView類是Android的視圖類的擴充,它允許您顯示web頁面的一部分活動布局。擔它不包括任何一個充分發展的web瀏覽器的特點,如導航控制項或一個地址欄。所有的WebView,預設情況下,顯示一個web頁面。
Webview有什麼應用情境呢,我們可以使用WebView用來顯示提供一些資訊,比如您可能需要更新,如一個終端使用者協議或使用者指南。在你的Android應用程式,您可以建立一個Acitivity包含WebView。然後使用,顯示你主持的線上文檔。另一個情境,在該情境中,WebView可以協助如果您的應用程式提供資料給使用者,總是需要一個網路連接檢索資料,如電子郵件。在這種情況下,您可能會發現建立一個WebView在Android應用程式顯示一個web頁面顯示所有使用者資料,而不是執行一個網路請求,然後解析資料並呈現在一個Android布局來的容易。調用WebView有的步驟如下所示
(1)
將WebView控制項添加到您的應用程式,只需包括活動中的< WebView >元素的Layout。
<?xml version="1.0" encoding="utf-8"?><WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent"/>
(2)
使用loadUrl()載入一個WebView。
WebView myWebView = (WebView) findViewById(R.id.webview);myWebView.loadUrl("http://www.example.com");
(3)
在資訊清單檔添加網路授權
<manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ...</manifest>
關於JavaScript
如果你計劃在你的負載的web頁面WebView使用JavaScript,您必須啟用JavaScript WebView。一旦啟用了JavaScript,您還可以建立您的應用程式代碼和JavaScript代碼之間的介面。JavaScript 在WebView預設情況下是禁用的。你可以使它通過附加WebSettings來實現他。您可以檢索與getSettings WebSettings(),然後用setJavaScriptEnabled啟用JavaScript()。
WebView myWebView = (WebView) findViewById(R.id.webview);WebSettings webSettings = myWebView.getSettings();webSettings.setJavaScriptEnabled(true);
關於曆史返回
當你的WebView重寫URL載入時,它會自動累積的曆史訪問web頁面。你可以向後和向前置航曆史goBack()和goForward()。
@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { // Check if the key event was the Back button and if there‘s history if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) { myWebView.goBack(); return true; } // If it wasn‘t the Back key or there‘s no web page history, bubble up to the default // system behavior (probably exit the activity) return super.onKeyDown(keyCode, event);}
Android開發之WebView的開發使用(原始碼分享)