您的位置:首页 > 理论基础 > 计算机网络

Android—UI篇—WebView(网络视图)

2012-09-26 01:25 253 查看
Android网路功能很强大,WebView组件支持直接加载网页,可以将其视为一个浏览器,要实现该功能,具体步骤如下

1、在布局文件中声明WebView

2、在Activity中实例化WebView

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

4、为了让WebView能够响应超链接功能,调用setWebViewClient()方法,设置WebView客户端

5、为了让WebView支持回退功能,覆盖onKeyDown()方法

6、一定要注意:在AndroidManifest.xml文件中添加访问互联网的权限,否则不能显示

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

WebViewTest.java

Java代码

/*

* @author hualang

*/

package org.hualang.webview;

import android.app.Activity;

import android.os.Bundle;

import android.view.KeyEvent;

import android.webkit.WebView;

import android.webkit.WebViewClient;

public class WebViewTest extends Activity {

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

        private WebView webview;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

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

        //设置WebView属性,能够执行JavaScript脚本

        webview.getSettings().setJavaScriptEnabled(true);

        //加载URL内容

        webview.loadUrl(“http://www.baidu.com”);

        //设置web视图客户端

        webview.setWebViewClient(new MyWebViewClient());

    }

    //设置回退

    public boolean onKeyDown(int keyCode,KeyEvent event)

    {

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

            {

                    webview.goBack();

                    return true;

            }

            return super.onKeyDown(keyCode,event);

    }

    //web视图客户端

    public class MyWebViewClient extends WebViewClient

    {

            public boolean shouldOverviewUrlLoading(WebView view,String url)

            {

                    view.loadUrl(url);

                    return true;

            }

    }

}

main.xml

Java代码

<?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/webview”

        android:layout_width=”fill_parent”

        android:layout_height=”fill_parent”

/>

</LinearLayout>

运行结果如下:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息