加载 URL (网络或者本地 assets 文件夹下的 HTML 文件)
@H_301_33@
加载 HTML 代码
Native 和 JavaScript 相互调用加载网络 URL
@H_301_33@webvIEw.loadUrl("https://www.baIDu.com/");
加载 assets 下的 HTML 文件
@H_301_33@webvIEw.loadUrl("file:///androID_asset/test.HTML");
加载 HTML 代码
@H_301_33@// 两个代码差不多// 偶尔出现乱码webvIEw.loadData();// 比上面的好一些, 可以友好解决编码问题webvIEw.loadDataWithBaseURL();
网页的前进后退
@H_301_33@// 网页是否可以后退webvIEw.canGoBack();// 网页进行后退webvIEw.goBack();// 网页是否可以前进webvIEw.canGoForward();// 网页进行前进webvIEw.goForward();// 网页是否可以前进/后退 steps 步webvIEw.canGoBackOrForward(int steps);// 网页进行前进/后退 steps 步webvIEw.goBackOrForward(int steps);
执行 Js 代码.
@H_301_33@2. 加载网页webvIEw.loadUrl("JavaScript:alert('Hello World!')");webvIEw.evaluateJavaScript("JavaScript:alert('Hello World!')", null);
建立一个最简单的 HTML 文件
@H_301_33@WebVIEwActivity
@H_301_33@package com.example.hello;import androIDx.appcompat.app.AppCompatActivity;import androID.os.Bundle;import androID.webkit.WebVIEw;public class WebVIEwActivity extends AppCompatActivity { // 声明 private WebVIEw wb; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_web_vIEw); // 获取 wb = findVIEwByID(R.ID.wb); // 加载本地 HTML 文件 wb.loadUrl("file:///androID_asset/test.HTML"); }}
activity_web_vIEw
@H_301_33@<?xml version="1.0" enCoding="utf-8"?><relativeLayout 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" tools:context=".WebVIEwActivity"> <WebVIEw androID:ID="@+ID/wb" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" /></relativeLayout>
加载网页上的页面
@H_301_33@总结package com.example.hello;import androIDx.appcompat.app.AppCompatActivity;import androID.annotation.Suppresslint;import androID.graphics.Bitmap;import androID.os.Bundle;import androID.util.Log;import androID.vIEw.KeyEvent;import androID.webkit.WebChromeClIEnt;import androID.webkit.WebResourceRequest;import androID.webkit.WebVIEw;import androID.webkit.WebVIEwClIEnt;public class WebVIEwActivity extends AppCompatActivity { // 声明 private WebVIEw wb; @Suppresslint("SetJavaScriptEnabled") @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_web_vIEw); // 获取 wb = findVIEwByID(R.ID.wb); // 加载本地 HTML 文件// wb.loadUrl("file:///androID_asset/test.HTML"); // 加载网页 HTML 文件 // 支持 Js 和 DOM wb.getSettings().setJavaScriptEnabled(true); wb.getSettings().setDomStorageEnabled(true); // 防止所有后打开默认浏览器 wb.setWebVIEwClIEnt(new MyWebVIEwClIEnt()); wb.setWebChromeClIEnt(new MyWebChromeClIEnt()); wb.loadUrl("https://www.baIDu.com/"); } /** * 防止返回到之前的 Activity * * @param keyCode 按键 * @param event 事件 * @return true */ @OverrIDe public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && wb.canGoBack()) { wb.goBack(); return true; } return super.onKeyDown(keyCode, event); } static class MyWebVIEwClIEnt extends WebVIEwClIEnt { @OverrIDe public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, WebResourceRequest request) { vIEw.loadUrl(request.getUrl().toString()); return super.shouldOverrIDeUrlLoading(vIEw, request); } @OverrIDe public voID onPageStarted(WebVIEw vIEw, String url, Bitmap favicon) { super.onPageStarted(vIEw, url, favicon); Log.d("WebVIEwClIEnt", "Page started..."); } @OverrIDe public voID onPageFinished(WebVIEw vIEw, String url) { super.onPageFinished(vIEw, url); Log.d("WebVIEwClIEnt", "Page Finished..."); } } /** * 添加所有记录和 Title */ class MyWebChromeClIEnt extends WebChromeClIEnt { @OverrIDe public voID onProgressChanged(WebVIEw vIEw, int newProgress) { super.onProgressChanged(vIEw, newProgress); } @OverrIDe public voID onReceivedTitle(WebVIEw vIEw, String Title) { super.onReceivedTitle(vIEw, Title); setTitle(Title); } }}
以上是内存溢出为你收集整理的Android 中 WebView 的基本用法全部内容,希望文章能够帮你解决Android 中 WebView 的基本用法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
概述Android中WebView的基本用法1.基础知识2.加载网页1.基础知识加载URL(网络或者本地assets文件夹下的html文件)加载html代码Native和JavaScript相互调用加载网络URLwebview.loadUrl("https://www.baidu.com/");加载assets下的html文 AndroID 中 WebVIEw 的基本用法1. 基础知识2. 加载网页1. 基础知识
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
Bugku-REVERSE-First_Mobile(xman)
上一篇
2022-05-25
将一行作为选择指示符添加到Swift中的UITabbarItem
下一篇
2022-05-25
评论列表(0条)