安卓笔记——使用WebView加载网页

Posted _23_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓笔记——使用WebView加载网页相关的知识,希望对你有一定的参考价值。

步骤

1、在AndroiManifest.xml里加入

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

android:usesCleartextTraffic="true"

在这里插入图片描述

2、在界面中加入WebView组件

在这里插入图片描述

3、到.java文件中写相应事件代码

截图中的例子是:使用WebView加载 qq邮箱网页

webView = findViewById(R.id.webView);
webView.loadUrl("https://www.qq.com/");
webView.setWebViewClient(new WebViewClient(){
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
           view.loadUrl(url);
           return true;
      }
});

在这里插入图片描述
运行效果:在这里插入图片描述

4、手机适配

在 .java文件中加入这一段代码

WebSettings webSettings = webView.getSettings();
//如果访问的页面中要与javascript交互,则webview必须设置支持Javascript
webSettings.setJavaScriptEnabled(true);

//设置自适应屏幕,两者合用
webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小
webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
//自适应屏幕
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小

//缩放操作
webSettings.setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。
webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false,则该WebView不可缩放
webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件

//其他细节操作
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //关闭webview中缓存
webSettings.setAllowFileAccess(true); //设置可以访问文件
webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式

//优先使用缓存
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//缓存模式如下:
//LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据
//LOAD_DEFAULT: (默认)根据cache-control决定是否从网络上取数据。
//LOAD_NO_CACHE: 不使用缓存,只从网络获取数据.
//LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据
//不使用缓存
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);


在这里插入图片描述

使用WebView加载本地网页

写一个 .html的文件
新建一个文件夹Assets Folder在这里插入图片描述
将本地文件放入文件夹中
将文件链接写入
在这里插入图片描述

以上是关于安卓笔记——使用WebView加载网页的主要内容,如果未能解决你的问题,请参考以下文章

用啥工具测试网页在安卓webview里的表现

怎么用WebView加载本地html

Android Native APP开发笔记:使用WebView控件加载网页

怎样使用webview打开每个网页

没有带有拉动刷新的互联网消息 webview 片段

安卓webview加载 h5页面 奔溃bug