Android使用WebView组件显示网页

代码实现效果下图所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.xml布局文件代码

<?xml version="1.0" encoding="utf-8"?&gt;
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity"&gt;

    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:hint="请输入完整的网页信息"
        android:layout_gravity="center"
        android:text=""/>

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="打开网页"/>

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

2.java代码

package edu.hbfu.httpurlexe;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
    EditText editText;
    Button button;
    WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editText = findViewById(R.id.editText);
        button = findViewById(R.id.button);
        webView = findViewById(R.id.webView);

        button.setOnClickListener(new View.OnClickListener() {//匿名内部
            @Override
            public void onClick(View view) {

                final String urlStr = editText.getText().toString();

                webView.setWebViewClient(new WebViewClient(){//使用webView打开网页,而不是Android默认浏览器,必须覆盖webView的WebViewClient对象
                    @Override
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                        /*return super.shouldOverrideUrlLoading(view, url);*/
                        view.loadUrl(url);
                        return true;
                    }
                });
                webView.loadUrl(urlStr);//打开一个指定的Web资源界面加载网址

                /*WebView组件基本步骤:
                1.在AndroidManifest.xml中配置访问权限
                2.在布局文件中创建WebView元素
                3.在代码中加载网页*/
            }
        });

    }
}

3.AndroidMainfest.xml访问权限代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="edu.hbfu.httpurlexe">
    <uses-permission android:name="android.permission.INTERNET"/><!--增加访问网络授权声明-->

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        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>

以上。

原文地址:https://blog.csdn.net/m0_66309026/article/details/123732775

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_12779.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注