android27  

android支持强大的网络功能,WebView支持直接加载网页,可以将其当做浏览器。要实现网络视图需要以下步骤:

1.在布局文件中声明WebView组件。

2.在Activity中实例化WebView组件。

3.调用WebView的loadUrl()方法,加载指定的URL地址网页。

4.为了使WebView能够实现超链接功能,调用setWebViewClient()方法设置客户端。

5.覆盖onKeyDown()方法,使WebView实现回退功能。

6.在android的配置XML文件中添加访问权限  <uses-permission android:name="android.permission.INTERNET"></uses-permission>

具体实现如下:

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
  
    WebView wv = null;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        wv = (WebView)findViewById(R.id.webView1);
        //设置webView属性,能够支持javaScript脚本
        wv.getSettings().setJavaScriptEnabled(true);
        //设置url内容
        wv.loadUrl("http://www.baidu.com");
        wv.setWebViewClient(new Client());
    }
    //回退
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if((keyCode==KeyEvent.KEYCODE_BACK) && wv.canGoBack()){
            wv.goBack();//回退方法
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
    
    //web视图客户端
    class Client extends WebViewClient{
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

效果图:


布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<WebView
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
</LinearLayout>

posted on 2012-04-26 12:39  android27  阅读(406)  评论(1)    收藏  举报