首页 > 其他分享 >客户端相关知识学习(五)之什么是webView

客户端相关知识学习(五)之什么是webView

时间:2023-11-28 12:57:32浏览次数:27  
标签:浏览器 展示 知识 html WebView webview 页面 webView 客户端

 

 

webview是什么?作用是什么?和浏览器有什么关系?

Android系统中内置了一款高性能 webkit 内核浏览器,在 SDK 中封装为一个叫做 WebView 组件也就是说WebView是一个基于webkit引擎、可以解析DOM 元素展现web页面的控件,它和浏览器展示页面的原理是相同的所以可以把它当做浏览

器看待

WebView是用于展示网络请求后的结果,也就是将url网络请求的结果展示在里面。

Android的Webview在低版本和高版本采用了不同的webkit版本内核,Android4.4后直接使用了Chrome。

webview主要用于什么地方?或者说什么需求下会使用到webview?

个人理解,电脑上展示html页面,通过浏览器打开页面即可浏览,而手机系统层面,如果没有webview支持,是无法展示html页面,所以webview的作用即用于手机系统来展示html界面的

所以它主要在需要在手机系统上加载html文件时被需要

WebView的作用

  • 显示和渲染Web页面;

  • 直接使用html文件(网络上或本地assets中)作布局;

  • 可和JavaScript交互调用。

一个原生应用调用html页面的过程?

  • 原生应用加载html页面(加载页面的方式可能有多种,比如加载本地写好的html文件,或者放置在服务器的文件)

  • 加载完成,展示就是通过webview来渲染展示的,如果系统没有webview,则是无法渲染展示html的

  • 1、2步其实一个原生应用调用html页面过程已经完成了,那么页面不光展示,有时候可能还需要交互,这里的话就需要写一些方法了,比如html界面的按钮需要调用系统原生的东西(比如:拍照,系统的文件,相册之类的)。

     原生端就负责维护html调用的接口,然后按照需要返回(原生端充当一个server的角色,html充当一个client角色)

使用webview的好处?

原生APP是将页面的布局设计,以及业务代码打包然后用户下载安装使用,而webview是通过加载html文件来进行页面的展示,当需要更新页面布局的或者业务逻辑变更时,如果是原生的APP就需要修改前端内容,升级打包,重新发布才可

以使用最新的。而通过webview方式的页面则只需要修改html代码或者js文件(如果是从服务器端获取,只要新的文件部署完成),用户重新刷新就可以使用更新后的,无需通过下载安装的方式完成升级

安卓系统内置浏览器,自带浏览器?

内置浏览器和自带浏览器是一个概念?

国内手机的自带浏览器不是chrome,主要是版权的原因,自带的浏览器都是手机厂商基于国内主流的几大浏览器自己定制,然后发布在自己手机系统版本中.不过国内几大浏览器厂商如QQ浏览器,UC浏览器、都是基于webkit引擎的

iphone的自带浏览器是Safari,Safari浏览器的内核是webkit

APP webview展示的页面和通过手机浏览器打开的页面?

不管是ios还是安卓,自带浏览器底层都是基于webkit的,然后各自系统中均带有webview控件,也是基于webkit引擎,所以不管通过APP调用webview展示html页面还是通过在浏览器打开html页面,效果是一样的。

Android中的webview函数 

WebView.loadUrl("http://www.ltplayer.com");// 加载url,也可以执行js函数

WebView.setWebViewClient(new SafeWebViewClient());// 设置 WebViewClient

WebView.setWebChromeClient(new SafeWebChromeClient());// 设置 WebChromeClient

WebView.onResume();

WebView.resumeTimers();

WebView.onPause();

WebView.pauseTimers();

WebView.stopLoading();// 停止当前加载

WebView.clearMatches();

WebView.canGoBack();

WebView.clearSslPreferences();

WebView.clearCache(true);方也会使用到。该方法接受一个参数,从命名即可看出作用。若设为false,则只清空内存里的资源缓存,而不清空磁盘里的。

WebView.loadUrl("about:blank");

WebView.removeAllViews();//

WebView.destroy();// 生命周期销毁

参考 

WebView之基本使用

app中的webview通识篇(上)

webview的简单介绍

app中的webview通识篇(上)

 

标签:浏览器,展示,知识,html,WebView,webview,页面,webView,客户端
From: https://www.cnblogs.com/onesea/p/17861681.html

相关文章

  • 客户端相关知识学习(八)之Android“.9.png”
    客户端相关知识学习(八)之Android“.9.png” 参考Android中.9图片的含义及制作教程.9.pngAndroid.9.png的介绍......
  • 客户端相关知识学习(七)之沉浸式
      何为沉浸式设计我们可以将为了沉浸式(心流)而进行的设计可以称之为沉浸式设计(为心流而设计)。沉浸模式就是突出内容,排除干扰,对界面除内容以外的东西尽可能的进行圆润的简化,将用户所关注的内容最大程度的呈现于屏幕之上。沉浸式设计案例而沉浸式设计的例子通常就是隐藏状......
  • 客户端相关知识学习(十)之app给h5传递数据
      方法一:app可以把参数传到h5的链接里,用类似?xx=xx&xx=xx的形式拼接,js解析参数即可。方法二:情况一:app调用h5原生app都可以对js的function进行触发,前端要做的只是将js定义好方法名和参数,交给app人员即可,app将数据通过参数传入情况二:h5调用app当H5页面加载时,就可以通过j......
  • 客户端相关知识学习(九)之h5给app传递数据
      方法一:情况一:if (window.JdAndroid){     window.JdAndroid.setPayCompleted();     window.JdAndroid.setPageIndex("cashierDesk_finish");}调用方式:h5调用Android方法传递数据:通过参数传递给Android情况二:var viewA......
  • 客户端相关知识学习(十二)之在h5页面打开另一个页面
      以京东收银台为例,收银台首页和成功页使用的是一个webview,在成功页点击一个按钮可能会跳转,可能是http(h5页面)也可能是openapp(原生页面/h5页面)Androidhttp:不会打开新的webview,就在收银台的webview中打开openapp:打开新的webviewiOShttp:不会打开新的webview,就在收银台的we......
  • 客户端相关知识学习(十一)之Android H5交互Webview实现localStorage数据存储
      前言最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识webView开启支持H5 LocalStorage存储有些时候我们发现写的本地存储没有起作用,那是因为默认WebView没有开启LocalStorage存储。开启方法如下首先得有Webview控件:有人问我是不是需要写布局文件......
  • Linux课堂知识总结
    这是学习Linux的第五节课,老师跟我们讲述了Linux的进程管理操作。程序(program)是一个普通文件,是为了完成特定任务而准备好的指令序列与数据的集合,这些指令和数据以“可执行映像”的格式保存在磁盘中。例如:hello.c源程序文件经过编译后产生a.out程序,其中a.out文件为可执行镜像格式......
  • Linux课堂知识总结
    这是学习Linux的第六节课,老师跟我们讲述了Linux的i/o重定向操作。cat:合并文件。sort:对文本行排序。uniq:报告或删除文件中重复的行。wc:打印文件中的换行符、字和字节的个数。grep:打印匹配行。head:输出文件的第一部分内容。tail:输出文件的最后一部分内容。tee:读取标准输入的数据,并......
  • 位运算知识
    1.P1469找筷子-洛谷|计算机科学教育新生态(luogu.com.cn)异或的两个小小的性质:k 个相同的数的异或和,当 k 为奇数时,结果是这个数本身,否则结果是 00。任何数与 00 的异或值是它本身。1#include<cstdio>2intx,n,ans;3intmain(){4scanf("%d",&n);5......
  • 一些Linux下系统安全软件的最小可用知识(目前1个软件)
    ClamAV使用概述ClamAV杀毒是Linux平台最受欢迎的杀毒软件,ClamAV属于免费开源产品,支持多种平台。ClamAV是基于病毒扫描的命令行工具,但同时也有支持图形界面的ClamTK工具。ClamAV主要用于邮件服务器扫描邮件。它有多种接口从邮件服务器扫描邮件,支持文件格式有如:ZIP、RAR、TAR......