`

WebView(网络视图)能加载显示网页

 
阅读更多

 WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:
第一种方法的步骤:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
  互联网用:webView.loadUrl("http://www.google.com");
  本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
  <uses-permission android:name="android.permission.INTERNET" />
下面是具体例子:
MainActivity.java
package com.android.webview.activity; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; 
 
public class MainActivity extends Activity { 
    private WebView webview; 
    @Override
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        //实例化WebView对象 
        webview = new WebView(this); 
        //设置WebView属性,能够执行Javascript脚本 
        webview.getSettings().setJavaScriptEnabled(true); 
        //加载需要显示的网页 
        webview.loadUrl("http://www.51cto.com/"); 
        //设置Web视图 
        setContentView(webview); 
    } 
     
    @Override
    //设置回退 
    //覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { 
            webview.goBack(); //goBack()表示返回WebView的上一页面 
            return true; 
        } 
        return false; 
}
在AndroidManifest.xml文件中的17行添加权限
 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.android.webview.activity"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />
 
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>
效果图:

第二种方法的步骤:
1、在布局文件中声明WebView
2、在Activity中实例化WebView
3、调用WebView的loadUrl( )方法,设置WevView要显示的网页
4、为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置  WebView视图
5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
6、需要在AndroidManifest.xml文件中添加权限,否则出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET"/>
 下面是具体的例子:
MainActivity.java
package com.android.webview.activity; 
 
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 { 
    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); 
        //加载需要显示的网页 
        webview.loadUrl("http://www.51cto.com/"); 
        //设置Web视图 
        webview.setWebViewClient(new HelloWebViewClient ()); 
    } 
     
    @Override
    //设置回退 
    //覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { 
            webview.goBack(); //goBack()表示返回WebView的上一页面 
            return true; 
        } 
        return false; 
    } 
     
    //Web视图 
    private class HelloWebViewClient extends WebViewClient { 
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
            view.loadUrl(url); 
            return true; 
        } 
    } 
}
main.xml
<?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>
在AndroidManifest.xml文件中的17行添加权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.android.webview.activity"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />
 
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>
效果图:

分享到:
评论

相关推荐

    QtWebView在线加载网页Demo

    3. **本地内容显示**:除了在线加载,QtWebView还能加载本地的HTML、CSS和JavaScript文件,这对于构建离线应用或者自定义用户界面非常有用。 4. **事件处理**:可以设置信号和槽来监听网页加载状态,如加载开始、...

    Android WebView加载本地的网页源码显示

    WebView是Android SDK中的一个类,它提供了一个用于显示网页的视图。我们可以通过调用WebView的`loadUrl()`方法来加载网页内容。但这里我们关注的是加载本地的HTML源码,而不是远程URL。 加载本地HTML源码通常有...

    Android代码-自定义WebView自带加载动画.zip

    总的来说,这个资源可以帮助开发者学习如何在Android的WebView中添加自定义加载动画,提升用户体验,同时也可以借此了解Android视图动画和WebView的结合使用。通过研究和实践这个示例,开发者能够更好地掌握Android...

    webview加载html文本以及PDF加载

    1. **WebView基本使用**:WebView是Android SDK中的一个视图组件,它可以加载和显示网页内容。使用WebView需要导入`android.webkit.WebView`库,并在XML布局文件中添加WebView控件,然后在对应的Activity或Fragment...

    android Webview加载本地图片,自适应布局大小

    WebView是Android SDK中的一个类,它提供了一个用于显示网页的视图。我们可以通过调用WebView的`loadUrl()`方法加载HTML内容,或者使用`loadData()`或`loadDataWithBaseURL()`方法加载自定义的数据。在加载本地图片...

    QT通过WebView访问外部网页

    综上所述,"QT通过WebView访问外部网页"涵盖了QT编程、网页加载、JavaScript交互、以及安全性等多个方面。提供的代码示例是一个很好的学习起点,可以帮助开发者快速理解如何在QT应用中集成Web功能。

    WebView加载URL

    "WebView加载URL"这个程序就是专门用来展示如何有效地利用WebView来加载和显示互联网上的网页。在这个项目中,开发者可能实现了以下关键知识点: 1. **WebView的基本使用**:首先,需要在布局XML文件中添加WebView...

    Android高级应用源码-自定义WebView,自带加载动画.rar

    3. 将自定义加载视图与WebView进行布局管理,使其在合适的位置显示。 ```java webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon)...

    安卓浏览器WebViewJSHTML5相关-监听加载结果并且带ProgressBar的WebView直接调用里面的方法进行加载网页.rar

    1. **WebView**: WebView是Android SDK中的一个视图组件,它能够加载和显示网页内容。使用WebView,开发者可以将网页内容嵌入到Android应用中,而无需离开应用程序。WebView支持基本的网页导航控制,如前进、后退和...

    webview网站全屏显示

    "webview网站全屏显示"这个项目显然关注的是如何利用WebView实现网页的全屏显示,并确保页面能够根据手机屏幕尺寸自适应调整,同时避免在加载网页时跳转到系统浏览器。 1. **WebView基本使用**: - WebView是...

    iOS开发WebView加载时显示转圈功能

    在WebView加载网页的过程中,用户可能会等待一段时间,为了提供更好的用户体验,开发者通常会在加载过程中显示一个“菊花”(菊花图表,即圆形进度条),以告知用户应用正在努力加载内容。本篇将详细讲解如何在Swift...

    ios-webView加载进度和显示标题.zip

    这个"ios-webView加载进度和显示标题.zip"文件很显然聚焦于如何利用WebView来展示网页,并实时跟踪其加载进度以及动态更新标题。下面我们将深入探讨这个主题。 首先,我们需要了解`WKWebView`,它是Apple在iOS 8及...

    android webview播放网页视频

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容。当涉及到在Webview中播放网页视频时,这个问题可能会变得稍微复杂,因为Android原生的Webview并不总是支持所有现代HTML5视频特性。...

    android 使用WebView浏览网页

    - 在Activity的`onPause()`或`onDestroy()`方法中调用`WebView.stopLoading()`和`WebView.clearView()`,停止加载和清空视图。 8. **自定义WebView功能** - 可以通过继承`WebView`类并覆写其方法,来实现自定义的...

    listview、scrollview、webview的下拉刷新上拉加载

    在Android开发中,ListView、ScrollView和WebView是三种常见的视图组件,它们用于展示大量数据或者网页内容。在用户交互体验日益重要的今天,下拉刷新和上拉加载功能已经成为这些组件的标准配置,使得用户可以轻松地...

    Android中WebView加载的网页被放大的解决办法

    然而,在实际使用过程中,有时会遇到一个常见的问题,即WebView加载的网页在显示时会被自动放大,导致用户体验不佳。本文将详细介绍如何解决这一问题。 首先,我们要了解这个问题出现的原因。在高分辨率的设备上,...

    android一行代码搞定加载网络pdf文件

    在这个场景中,开发者可能使用了名为`pdfView`的对象,它可能是一个自定义视图或者第三方库中的类,如`AndroidPDF`库,来实现快速加载网络上的PDF文件。下面将详细介绍这一过程及相关技术。 首先,让我们解析给定的...

    ios-webView oc js 交互 加载进度 仿微信返回显示关闭.zip

    本项目“ios-webView oc js 交互 加载进度 仿微信返回显示关闭”聚焦于如何通过Objective-C(简称OC)实现WebView与JavaScript之间的交互,以及如何添加加载进度条和模仿微信的返回按钮功能,使用户界面更加友好。...

    Android WebView上下滑动显示隐藏头部

    1. 创建并设置WebView,加载网页。 2. 使用`GestureDetector`监听滑动事件。 3. 根据滑动方向控制头部视图的显示和隐藏,可使用`ObjectAnimator`或`ValueAnimator`添加动画效果。 4. 添加适当的阈值和时机控制,以...

    unity-webview是Unity 5的一个插件,用于覆盖WebView组件在Unity视图上

    - 在 Unity 编辑器中,创建一个 GameObject 并添加 `WebViewObject` 组件,通过脚本控制 WebView 的显示、加载网页、执行 JavaScript 代码等功能。 3. **主要功能**: - 加载网页:可以加载本地或远程的 HTML ...

Global site tag (gtag.js) - Google Analytics