首页 前端知识 Android Studio将html5网址封装成APP,复习指南

Android Studio将html5网址封装成APP,复习指南

2024-06-24 02:06:29 前端知识 前端哥 344 930 我要收藏

setBlockNetworkImage (boolean flag)

是否禁止从网络(通过http和https URI schemes访问的资源)下载图片资源,默认值为false。注意,除非getLoadsImagesAutomatically()返回true,否则该方法无效。还请注意,即使此项设置为false,使用setBlockNetworkLoads(boolean)禁止所有网络加载也会阻止网络图片的加载。当此项设置的值从true变为false,WebView当前显示的内容所引用的网络图片资源会自动获取。

setBlockNetworkLoads (boolean flag)

是否禁止从网络下载数据,如果app有INTERNET权限,默认值为false,否则默认为true。使用setBlockNetworkImage(boolean) 只会禁止图片资源的加载。注意此值由true变为false,当前WebView展示的内容所引用的网络资源不会自动加载,直到调用了重载。如果APP没有INTERNET权限,设置此值为false会抛出SecurityException。

setBuiltInZoomControls (boolean enabled)

是否使用内置的缩放机制。内置的缩放机制包括屏幕上的缩放控件(浮于WebView内容之上)和缩放手势的运用。通过setDisplayZoomControls(boolean)可以控制是否显示这些控件,默认值为false。

setCacheMode (int mode)

重写使用缓存的方式,默认值LOAD_DEFAULT。缓存的使用方式基于导航类型,正常的页面加载,检测缓存,需要时缓存内容复现。导航返回时,内容不会复现,只有内容会从缓存盘中恢复。该方法允许客户端通过指定LOAD_DEFAULT, LOAD_CACHE_ELSE_NETWORK, LOAD_NO_CACHE or LOAD_CACHE_ONLY的其中一项来重写其行为。

setCursiveFontFamily (String font)

设置WebView字体库字体,默认“cursive”

setDatabaseEnabled (boolean flag)

数据库存储API是否可用,默认值false。如何正确设置数据存储API参见setDatabasePath(String)。该设置对同一进程中的所有WebView实例均有效。注意,只能在当前进程的任意WebView加载页面之前修改此项,因为此节点之后WebView的实现类可能会忽略该项设置的改变。

setDatabasePath (String databasePath)

已废弃,数据库路径由实现(implementation)管理,调用此方法无效。

设置数据库的存储路径,为了保证数据库正确运行,该方法必须使用一个应用可写的路径。此方法只能执行一次,重复调用会被忽略。

setDefaultFixedFontSize (int size)

设置默认固定的字体大小,默认为16,可取值1到72

setDefaultFontSize (int size)

设置默认的字体大小,默认16,可取值1到72

setDefaultTextEncodingName (String encoding)

设置默认的字符编码集,默认”UTF-8”.

setDefaultZoom (WebSettings.ZoomDensity zoom)

已废弃。设置默认的缩放密度,必须在UI线程调用,默认值MEDIUM.该项设置在新应用中不推荐使用。如果WebView用于展示手机页面,可以通过调整页面的’meta viewport’ 标记中的’width’ 和 ‘initial-scale’属性实现预期效果,对于漏用标记的页面,可以使用setInitialScale(int)和setUseWideViewPort(boolean) .

setDisplayZoomControls (boolean enabled)

使用内置的缩放机制时是否展示缩放控件,默认值true。参见setBuiltInZoomControls(boolean).

setDomStorageEnabled (boolean flag)

DOM存储API是否可用,默认false。

setEnableSmoothTransition (boolean enable)

已废弃,将来会成为空操作(no-op),设置当panning或者缩放或者持有当前WebView的window没有焦点时是否允许其光滑过渡,若为true,WebView会选择一个性能最大化的解决方案。例如过渡时WebView的内容可能不更新。若为false,WebView会保持精度(fidelity),默认值false。

setFantasyFontFamily (String font)

设置fantasy字体集(font family)的名字默认为“fantasy”

setFixedFontFamily (String font)

设置固定的字体集的名字,默认为”monospace”。

setGeolocationDatabasePath (String databasePath)

定位数据库的保存路径,为了确保定位权限和缓存位置的持久化,该方法应该传入一个应用可写的路径。

setGeolocationEnabled (boolean flag)

定位是否可用,默认为true。请注意,为了确保定位API在WebView的页面中可用,必须遵守如下约定:

(1) app必须有定位的权限,参见ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION;

(2) app必须提供onGeolocationPermissionsShowPrompt(String, GeolocationPermissions.Callback)回调方法的实现,在页面通过JavaScript定位API请求定位时接收通知。

作为可选项,可以在数据库中存储历史位置和Web初始权限,参见setGeolocationDatabasePath(String).

setJavaScriptCanOpenWindowsAutomatically (boolean flag)

让JavaScript自动打开窗口,默认false。适用于JavaScript方法window.open()。

setJavaScriptEnabled (boolean flag)

设置WebView是否允许执行JavaScript脚本,默认false,不允许。

setLayoutAlgorithm (WebSettings.LayoutAlgorithm l)

设置布局,会引起WebView的重新布局(relayout),默认值NARROW_COLUMNS

setLightTouchEnabled (boolean enabled)

已废弃。从 JELLY_BEAN 开始,该设置无效。允许使用轻触摸做出选择和光标悬停。

setLoadWithOverviewMode (boolean overview)

是否允许WebView度超出以概览的方式载入页面,默认false。即缩小内容以适应屏幕宽度。该项设置在内容宽度超出WebView控件的宽度时生效,例如当getUseWideViewPort() 返回true时。

setLoadsImagesAutomatically (boolean flag)

WebView是否下载图片资源,默认为true。注意,该方法控制所有图片的下载,包括使用URI嵌入的图片(使用setBlockNetworkImage(boolean) 只控制使用网络URI的图片的下载)。如果该设置项的值由false变为true,WebView展示的内容所引用的所有的图片资源将自动下载。

setMediaPlaybackRequiresUserGesture (boolean require)

WebView是否需要用户的手势进行媒体播放,默认值为true。

setMinimumFontSize (int size)

设置最小的字号,默认为8

setMinimumLogicalFontSize (int size)

设置最小的本地字号,默认为8。

setMixedContentMode (int mode)

当一个安全的来源(origin)试图从一个不安全的来源加载资源时配置WebView的行为。默认情况下,KITKAT及更低版本默认值为MIXED_CONTENT_ALWAYS_ALLOW,LOLLIPOP版本默认值MIXED_CONTENT_NEVER_ALLOW,WebView首选的最安全的操作模式为MIXED_CONTENT_NEVER_ALLOW ,不鼓励使用MIXED_CONTENT_ALWAYS_ALLOW。

setNeedInitialFocus (boolean flag)

调用requestFocus(int, Android.graphics.Rect)时是否需要设置节点获取焦点,默认值为true。

setOffscreenPreRaster (boolean enabled)

当WebView切换到后台但仍然与窗口关联时是否raster tiles,打开它可以避免在WebView从后台切换到前台时重新绘制,默认值false。在这种模式下后台的WebView占用更多的内存。请按如下准则显示内存的使用:

WebView的尺寸不能比设备的屏幕尺寸更大;

限制在少数WebView上使用该模式;

在可见的WebView和即将显现的WebView上使用;

setPluginState (WebSettings.PluginState state)

在API18以上已废弃。未来将不支持插件,不要使用。告诉WebView启用、禁用或者有即用(on demand)的插件,即用模式是指如果存在一个可以处理嵌入内容的插件,会显示一个占位图标,点击时开启。默认值OFF。

setRenderPriority (WebSettings.RenderPriority priority)

在API18以上已废弃。不建议调整线程优先级,未来版本不会支持这样做。设置绘制(Render,很多书上翻译成渲染,貌似很专业,但是不易懂,不敢苟同)线程的优先级。不像其他设置,同一进程中只需调用一次,默认值NORMAL。

setSansSerifFontFamily (String font)

设置无衬线字体集(sans-serif font family)的名字。默认值”sans-serif”.

setSaveFormData (boolean save)

WebView是否保存表单数据,默认值true。

setSavePassword (boolean save)

API18以上版本已废弃。未来版本将不支持保存WebView中的密码。设置WebView是否保存密码,默认true。

setSerifFontFamily (String font)

设置衬线字体集(serif font family)的名字,默认“sans-serif”。

setStandardFontFamily (String font)

设置标准字体集的名字,默认值“sans-serif”。

setSupportMultipleWindows (boolean support)

设置WebView是否支持多窗口。如果设置为true,主程序要实现onCreateWindow(WebView, boolean, boolean, Message),默认false。

setSupportZoom (boolean support)

WebView是否支持使用屏幕上的缩放控件和手势进行缩放,默认值true。设置setBuiltInZoomControls(boolean)可以使用特殊的缩放机制。该项设置不会影响zoomIn() and zoomOut()的缩放操作。

setTextSize (WebSettings.TextSize t)

API14版本以上已废弃。请取代使用setTextZoom(int)。设置页面文本的尺寸,默认NORMAL。

setTextZoom (int textZoom)

设置页面上的文本缩放百分比,默认100。

setUseWideViewPort (boolean use)

WebView是否支持HTML的“viewport”标签或者使用wide viewport。设置值为true时,布局的宽度总是与WebView控件上的设备无关像素(device-dependent pixels)宽度一致。当值为true且页面包含viewport标记,将使用标签指定的宽度。如果页面不包含标签或者标签没有提供宽度,那就使用wide viewport。

setUserAgentString (String ua)

设置WebView的用户代理字符串。如果字符串为null或者empty,将使用系统默认值。注意从KITKAT版本开始,加载网页时改变用户代理会让WebView再次初始化加载。

supportMultipleWindows ()

获取WebView是否支持多窗口的值。

supportZoom ()

获取WebView是否支持缩放的值

三、bug解决

1、部分手机无法打开网页,报错net::ERR_CLEARTEXT_NOT_PERMITTED,如下:

2、原因分析:

WebView在Android 8.0以下都是可以正常打开链接的,但从Android 9.0(API级别28)开始,默认情况下禁用明文支持,因此http的url均无法在webview中正常加载 !

3、解决方法:

在AndroidManifest.xml清单文件中,application节点添加如下配置即可

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

最后笔者收集整理了一份Flutter高级入门进阶资料PDF

以下是资料目录和内容部分截图



里面包括详细的知识点讲解分析,带你一个星期入门Flutter。还有130个进阶学习项目实战视频教程,让你秒变大前端。学不会来打我!

这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)**
[外链图片转存中…(img-lNr3TP6u-1711133854970)]

最后笔者收集整理了一份Flutter高级入门进阶资料PDF

以下是资料目录和内容部分截图

[外链图片转存中…(img-1eYjkgDN-1711133854970)]
[外链图片转存中…(img-RTAUwgp3-1711133854971)]
里面包括详细的知识点讲解分析,带你一个星期入门Flutter。还有130个进阶学习项目实战视频教程,让你秒变大前端。学不会来打我!
[外链图片转存中…(img-i99LgbPo-1711133854971)]
以上资料皆无偿分享,领取方式:点击我的GitHub即可免费获取

转载请注明出处或者链接地址:https://www.qianduange.cn//article/13424.html
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!