android 使用WebView

本文转自:http://www.cnblogs.com/feisky/archive/2010/01/13/1646919.html

使用WebView

Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成了WebView组件。

http://developer.android.com/guide/tutorials/views/hello-webview.html提供了一个简单的例子:

 

1. webview的XML定义:

<WebView  

        android:id="@+id/webview" 

        android:layout_width="fill_parent" 

        android:layout_height="fill_parent" 

    /> 

2.Manifest文件中权限的设定:

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

3.如果想要支持JavaScript:

    webview.getSettings().setJavaScriptEnabled(true); 

4.如果需要在WebView中显示网页,而不是在内置浏览器中浏览,则需要mWebView.setWebViewClient,并重写shouldOverrideUrlLoading方法。

5.如果不做任何处理,在显示你的Brower UI时,点击系统“Back”键,整个Browser会作为一个整体“Back"到其他Activity中,而不是希望的在Browser的历史页面中Back。如果希望实现在历史页面中Back,需要在当前Activity中处理Back事件:mWebView.goBack();

         WebView webview;

	/** Called when the activity is first created. */

	@Override

	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		setContentView(R.layout.main);

		// 获取WebView对象

		webview = (WebView) findViewById(R.id.webview); 

		// 使能JavaScript

		webview.getSettings().setJavaScriptEnabled(true); 

		// 如果需要在WebView中显示网页,而不是在内置浏览器中浏览,

		// 则需要mWebView.setWebViewClient,并重写

		// shouldOverrideUrlLoading方法。

		webview.setWebViewClient(new WebViewClientDemo());

		// 加载网页

		webview.loadUrl("http://t.sina.cn/fesky"); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) {

		// 按下BACK键回到历史页面中

		if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { 

	        webview.goBack(); 

	        return true; 

	    } 

		return super.onKeyDown(keyCode, event);

	}

	private class WebViewClientDemo extends WebViewClient { 

	    @Override 

	    // 在WebView中而不是默认浏览器中显示页面

	    public boolean shouldOverrideUrlLoading(WebView view, String url) { 

	        view.loadUrl(url); 

	        return true; 

	    } 

	}

 

你可能感兴趣的:(android)