当前位置: 首页 > news >正文

长沙网站排名优化seo优化网站推广全域营销获客公司

长沙网站排名优化,seo优化网站推广全域营销获客公司,wordpress md,重庆招标信息网官网什么是WebView WebView是Android中UI组件的一种,WebView基于webkit内核,不过由于兼容性的原因在Android5.0后改为了Chromium内核。 WebView可以用来展示网页,常用于我们不想打开浏览器但又想浏览网页的情况。 WebView的使用 WebVeiw的常用…

什么是WebView

WebView是Android中UI组件的一种,WebView基于webkit内核,不过由于兼容性的原因在Android5.0后改为了Chromium内核。
WebView可以用来展示网页,常用于我们不想打开浏览器但又想浏览网页的情况。

WebView的使用

WebVeiw的常用方法

加载网页的四种方式

loadUrl(String url)

 //打开百度网页webView.loadUrl("https://www.baidu.com/");//打开sdcard卡的html页面//webView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/1/index.html");//资源文件下的html页面//webView.loadUrl("file://android_asset/index.html");//设置在当前页面打开要显示的网页webView.setWebViewClient(new WebViewClient());

loadUrl(String url, Map<String, String> additionalHttpHeaders)
第一个参数是要加载网页的url,第二个参数是键值对形式的请求参数,会被加入到请求头中。

  webView.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {Map<String,String> reqHeaders = new HashMap<>();reqHeaders.put("android-webview-demo","testRequestHeaders");webView.loadUrl("https://www.baidu.com/");return super.shouldOverrideUrlLoading(view, url);}});

loadData(String data, String mimeType, String encoding)
可以将一段html代码加载到网页中

 webView.loadData("<h1>hello world</h1>","text/html","utf-8");

loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl)
这里要加载的网页的url是baseUrl+data,mimeType是响应类型,encoding是编码,historyUrl设置回退时回退到哪个网页

    webView.loadDataWithBaseURL("https://www.imooc.com/","<img src = \"static/img/index/logo2020.png\"/> <a href = \"https://www.baidu.com\">百度</a>","text/html","utf-8","https://www.sogou.com");webView.setWebViewClient(new WebViewClient());

控制网页的前进和后退

boolean canGoBack():是否可以后退;
boolean canGoForward():是否可以前进;
boolean canGoBackOrForward(int steps):是否可以前进或后退一定步数,负数代表后退,正数代表前进;
void clearHistory():清除历史;
void goBack():后退;
void goForward():前进;
void goBackOrForward(int steps):前进或后退一定步数,负数代表后退,正数代表前进;

public void onClear(View view) {webView.clearHistory();}public void onCanBack(View v) {Toast.makeText(this,String.valueOf(webView.canGoBack()),Toast.LENGTH_SHORT).show();}public void onGoBack(View v) {webView.goBack();}public void onCanGoForward(View v) {Toast.makeText(this,String.valueOf(webView.canGoForward()),Toast.LENGTH_SHORT).show();}public void onGoForward(View v) {webView.goForward();}public void onCanGoBackOrForward(View v) {int steps = Integer.valueOf(et.getText().toString());Toast.makeText(this,String.valueOf(webView.canGoBackOrForward(steps)),Toast.LENGTH_SHORT).show();}public void onGoBackOrForward(View v) {int steps = Integer.valueOf(et.getText().toString());webView.goBackOrForward(steps);}

WebView的状态管理

WebView的状态管理用于
WebView的
onPause():
onResume():
resumeTimers():
pauseTimers():
destroy():

WebSettings

使用WebSettings可以对webview进行配置和管理。
控制网页的缩放
setSupportZoom(boolean):是否支持缩放
setBuiltInZoomControls(boolean):设置内置的缩放控件
setDisplayZoomControls(boolean):是否隐藏原生的缩放控件
控制网页缓存策略
LOAD_CACHE_ONLY:永远不使用网络,只去本地缓存,没有缓存则不会加载;
LOAD_CACHE_ELSE_NETWORK:只要本地有缓存,无论是否过期都会去使用本地缓存,没有缓存才会去加载网络;
LOAD_DEFAULT:根据cache-control决定是否从网络获取;
LOAD_NO_CACHE:永远不使用缓存,只从网络获取;

  WebSettings settings = webView.getSettings();//设置要访问的页面可以运行jssettings.setJavaScriptEnabled(true);//设置可以进行缩放settings.setSupportZoom(true);settings.setBuiltInZoomControls(true);settings.setDisplayZoomControls(true);//设置缓存策略settings.setCacheMode(WebSettings.LOAD_CACHE_ONLY);

WebViewClient

WebViewClient处理加载时的各种回调通知。

方法签名作用
WebResourceResponse shouldInterceptRequest(WebViewview, String url)进行资源请求的时候回调
void onPageStarted(WebViewview, String url, Bitmap favicon)网页已经开始加载的时候回调
void onLoadResource(WebViewview, String url)加载网页资源之前回调
boolean shouldOverrideUrlLoading(WebView view, String url)webview将要加载新的url时进行回调
void onReceivedError(WebViewview, interrorCode, String description, String failingUrl)网页访问发生错误的时候回调
void onPageFinished(WebViewview, String url)网页加载完成的时候回调
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request)重载方法,在Android7.0以后才能使用
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request)重载方法,在Android5.0以上才能使用
void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error)重载方法,Android6.0及以上才能使用
shouldInterceptRequest方法会在onLoadResource方法之前被调用。
webView.setWebViewClient(new WebViewClient() {@Overridepublic void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {super.onReceivedError(view, request, error);}@Overridepublic void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {super.onReceivedError(view, errorCode, description, failingUrl);}/*** android7.0以上才可以使用,可以利用此方法进行方法拦截* @param view* @param request* @return*/@Overridepublic boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {return super.shouldOverrideUrlLoading(view, request);}@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {Map<String,String> reqHeaders = new HashMap<>();reqHeaders.put("android-webview-demo","testReqHeaders");webView.loadUrl("http://192.168.2.124:3000", reqHeaders);return super.shouldOverrideUrlLoading(view, url);}/*** android5.0以上才能调用* @param view* @param request* @return*/@Nullable@Overridepublic WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {Log.d(TAG, "shouldInterceptRequest: 方法被调用了");return super.shouldInterceptRequest(view, request);}@Nullable@Overridepublic WebResourceResponse shouldInterceptRequest(WebView view, String url) {Log.d(TAG, "shouldInterceptRequest: 方法被调用了" + url);return super.shouldInterceptRequest(view, url);}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {Log.d(TAG, "onPageStarted: 网页开始进行加载url: " + url);super.onPageStarted(view, url, favicon);}@Overridepublic void onLoadResource(WebView view, String url) {Log.d(TAG, "onLoadResource:网页开始加载资源url: " + url);super.onLoadResource(view, url);}@Overridepublic void onPageFinished(WebView view, String url) {Log.d(TAG, "onPageFinished: 网页已经加载完成: " + url);super.onPageFinished(view, url);}});

WebChromeClient

辅助webview去处理JavaScript对话框、标题、进度。

booleanonJsAlert(WebViewview, String url, String message, JsResultresult):在网页将要打开一个alert警告对话框的时候回调;
booleanonJsPrompt(WebViewview, String url, String message, String defaultValue, JsPromptResultresult):在网页将要打开一个prompt对话框的时候回调;
booleanonJsConfirm(WebViewview, String url, String message, JsResultresult):在网页将要打开一个confirm对话框的时候回调;

http://www.yayakq.cn/news/144511/

相关文章:

  • 明年做哪个网站能致富python 网页制作教程
  • 微信网站模板源码下载网站建设及管理使用情况汇报
  • 政务公开和网站建设工作问题WordPress点击头像
  • 哪家网站建设公司dw做旅游网站教程
  • 长沙企业做网站深圳科源建设集团有限公司网站
  • 做图标的网站高清视频上传wordpress
  • 做网站一般长宽多少安庆建设网站
  • 建设上线网站深圳做微藻的公司网站
  • 南京网站设计个人咸阳免费做网站公司
  • 微软做网站采购信息网
  • 网站设计品郑州 高端网站建设
  • 网站排行首页怎么做安卓 wordpress 源码分析
  • 厦门网站建设h5微信oa系统
  • 素材网站设计模板深圳深圳网站建设
  • 企业网站.net计算机网站建设论文
  • 网站改版收费成都专业网站建设优化团队
  • 广东建科建设监理有限公司网站凡科能上传自己做的网站
  • 隆尧建设局网站学生做的动漫网站
  • 手机零售网站 关键词网站构建器
  • 自己创建网站403广州网站建设484186
  • 网站建设网络推广图片wordpress 漂浮广告
  • 模板建站和定制网站的对比网站建设什么价格
  • 网站带后台做视频网站要什么
  • asp网站后台编辑器用dw做的网页如何上传到网站
  • 贵州省铜仁市住房和城乡建设局网站网站开发表格
  • 上海网站排名seo公司宿迁网络公司
  • 用wordpress做的网站公益网站设计
  • 网站备案归哪里管wordpress英文模板
  • 北京朝阳区做网站企业网站适合响应式嘛
  • 福州网站建设 网络服务jsp网站建设项目实战电子版