webview的基本操作

功能:能够使安卓程序中打开互联网中的网页。
WebView是View的一个子类,可以使该控件在Activity中显示出网页。
1.首先我们应该在相应的布局中加入WebView,例如:

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


</LinearLayout>

该处显示的网页将会占满整个屏幕,程序员可以根据自己所需改变该控件的大小,这里不做介绍。

2.想要使用WebView访问互联网,必须要在manifest中加上访问网络的权限,对应的代码如下:
//允许访问网络

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

3.将WebView控件在Activity中对应起来:

WebView myWebView = (WebView) findViewById(R.id.webview_1);

4.设置访问网页类型:
a.访问互联网:myWebView.loadUrl("http://www.baidu.com");
b.访问本地文件中的网络:myWebView.loadUrl("file:///android_asset/XX.html");
本地文件存放位置在DDMS中assets文件下。

5.我们可以重写一些方法:

//设置表示支持js
        WebSettings settings = mWebView.getSettings();
        settings.setJavaScriptEnabled(true);
        //显示放大缩小按钮
        settings.setBuiltInZoomControls(true);
        //双击缩放
        settings.setUseWideViewPort(true);
        //设置网页加载监听
        mWebView.setWebViewClient(new WebViewClient(){
            //网页开始加载,通常在加载网页的时候在控件上展示Prgress,提高用户体验
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                // TODO Auto-generated method stub
                super.onPageStarted(view, url, favicon);
                pbProgress.setVisibility(View.VISIBLE);
                System.out.println("webview.......start"+ url);
            }
            //网页加载结束,清楚Progress
            @Override
            public void onPageFinished(WebView view, String url) {
                // TODO Auto-generated method stub
                super.onPageFinished(view, url);
                pbProgress.setVisibility(View.INVISIBLE);
                System.out.println("webview.......end"+ url);
            }
            /**
             * 所有跳转链接都会在此方法中调用,全部加载在webview当中,
             * 重写该方法
             */
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                System.out.println("跳转的url"+url);

                view.loadUrl(url);
                return true;
//              return super.shouldOverrideUrlLoading(view, url);
            }


        });
//      mWebView.goBack();
        /**
        *同样是网页加载的监听,主要是和上面监听不同
        *在这个可以监听加载进度等其他功能
        */
        mWebView.setWebChromeClient(new WebChromeClient(){
            /**
             * 进度发生变化
             */
            @Override
            public void onProgressChanged(WebView view, int newProgress) {

                super.onProgressChanged(view, newProgress);
                System.out.println("加载进度"+ newProgress);
            }
            /**
             * 获取网页标题
             */
            @Override
            public void onReceivedTitle(WebView view, String title) {
                // TODO Auto-generated method stub
                super.onReceivedTitle(view, title);
                System.out.println("网页标题"+title);
            }
        });
//      mWebView.loadUrl("http://www.baidu.com/");
        mWebView.loadUrl(rurl);

    }

7.根据不同需求可以使打开的网页在WebView中展示也可以调用系统本身的浏览器,在直接设置
myWebView.setWebViewClient(new WebViewClient());在这个匿名内部类中重写shouldOverrideUrlLoading(WebView view, String url)方法,如上所诉可以实现webview控件中打开网页的所有的链接都是在WebView中展示出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值