Android WebView 示例

时间:2020-02-23 14:29:24  来源:igfitidea点击:

在本教程中,我们将看到Android WebView举例。

Android WebView是一个Android UI小部件,用于打开任何Web URL或者加载HTML数据。
它用于在Android活动中显示网页。
简单单词,Andorid WebView是一个显示网页的视图。

比如:让我们说你正在创建一个Android应用程序,并且我们有一些用户协议或者某些网页托管在线托管,我们可以使用Android WebView渲染它。

我们通常使用两种方法来打开Web URL或者加载HTML数据。

  • loadUrl
  • loadData

第1步:创建项目

创建一个Android应用程序ProjectNamed"WebViewExampleApp"。

第2步:创建布局

更改RES - >布局 - > Activity_main.xml如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/activity_main"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 tools:context="com.theitroad.webviewexampleapp.MainActivity">
 
 <WebView
 android:id="@+id/webView"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 
</RelativeLayout>

第3步:创建MainActivity

更改src/main/packageName/mainActivity.java如下:

package com.theitroad.webviewexampleapp;
 
import android.graphics.Bitmap;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
 
public class MainActivity extends AppCompatActivity {
 
    private WebView webView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        webView = (WebView) findViewById(R.id.webView);
        webView.setWebViewClient(new myWebClient());
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("https://www.theitroad.com");
 
    }
 
    public class myWebClient extends WebViewClient
    {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }
 
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
 
            view.loadUrl(url);
            return true;
 
        }
    }
 
    @Override
    //This method is used to detect back button
    public void onBackPressed() {
        if(webView.canGoBack()) {
            webView.goBack();
        } else {
            //Let the system handle the back button
            super.onBackPressed();
        }
    }
}

我们正在从布局文件中获取WebView参考,然后使用WebView的LoadURL方法加载URL

第4步:在androidmanifest.xml中添加Internet权限

复制以下代码:

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

把它放在androidmanifest.xml中

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.theitroad.webviewexampleapp">
 
 <uses-permission android:name="android.permission.INTERNET" 
 <application
 android:allowBackup="true"
 android:icon="@mipmap/ic_launcher"
 android:label="@string/app_name"
 android:supportsRtl="true"
 android:theme="@style/AppTheme">
 <activity android:name=".MainActivity">
 <intent-filter>
 <action android:name="android.intent.action.MAIN" 
 
 <category android:name="android.intent.category.LAUNCHER" 
 </intent-filter>
 </activity>
 </application>
 
</manifest>

完成了,我们为Androidmanifest.xml添加了Internet权限。
现在应用程序应该能够联网了。