1. 用户上传文件

webChromeClient的onShowFileChooser这个方法,这将打开一个文件选择器,如果要取消这个请求则是调用filePathCallback.onReceiveValue(null)

2. webView调用JS方法

webView调用Js的基本格式是loadurl("JavaScript:method(参数)");

但是如果调用的js方法有值返回,则是如下写法:  // 就是调用evaluateJavaScript方法回调

private void evaluateJavaScript(WebView webview){

  webview.evaluateJavaScript("js方法名()",new ValueCallback<String>(){

    @Override

    public void onReceiveValue(String s)

      Log.e("",s);

  });

}

3. JS调用webView的方法

Java方法使用JavascriptInterface注解

@JavascriptInterface

public void show(string hello){

  Toast.makeText().show();

}

注册JavaScriptInterface

webView.addJavaScriptInterface(this,"android");// 这里是做了一个映射,映射到JavaScript的android对象中

JavaScript调用android 方法 弹出对话框

function getFromAndroid(){

  window.android.show("hello");

}

如果是调用的android 方法有返回值,则在最后调用的JavaScript处接收值就行了,var result = window.android.method(参数);

3. webView加载优化:

第一种方式尽量使一些资源本地化,因为最快的方式还是从本地读取资源。本地资源放在asset路径下,然后重写webviewClient的webResourceResponseShouldInterceptRequest(Webview webview,WebResourceRequest request)读取本地资源,建立cache controller机制,定期检查资源更新,保证本地资源是最细可用的。

第二种方式就是缓存,首先在websetting里面把相关的缓存设置打开,setAppCacheEnab(),setDomstroageEnable(),setDatabaseEnable(),最重要的设置缓存模式,setCacheModel();

因为不同的网络环境,我们要选择不同的缓存模式,默认情况下是websettings.LOAD_DEFAULT, 所以如果是网络好的情况下使用默认的方式,网络有问题是只能使用缓存的页面LOAD_CATCH_ONLY, 所以这里就要定期接受服务器通知更新缓存

第三种方式,就是前端要做的了,对JS做延迟加载。

webview笔记的更多相关文章

  1. 【WP8.1】WebView笔记

    之前在WP8的时候做过WebBrowser相关的笔记,在WP8.1的WebView和WebBrowser有些不一样,在这里做一些笔记 下面分为几个部分 1.禁止缩放 2.JS通知后台C#代码(noti ...

  2. Android WebView 笔记

    WebView(网络视图)能载入显示载入网页.将网页内容载入到手机client,它使用了WebKit渲染引擎载入显示网页,实现WebView有下面方法: 首先要实如今手机client显示必需要求注冊一 ...

  3. Android SDK组件:webview笔记

    1.安卓手机中内置了一款webkit内核的浏览器,在SDK中封装为WebView组件. 2.该组件可以在自己的应用程序中显示本地或者Internet上的网页,也可以把它当作一个浏览器来时用. 3.We ...

  4. 【uwp】浅谈China Daily 中划词翻译的实现

    学习uwp开发也有一段时间了,最近上架了一个小应用(China Daily),现在准备将开发中所学到的一些东西拿出来跟大家分享交流一下. 先给出应用的下载链接:China Daily , 感兴趣的童鞋 ...

  5. Xamarin开发笔记—WebView双项事件调用

    1.Xamarin调用WebView: 原理:Xamarin.Forms WebView内置方法xx.Eval(..)可以调用到页面里面的js函数. WebView展示的代码如下: var htmlS ...

  6. 安卓开发笔记——WebView组件

    我们专业方向本是JAVA Web,这学期突然来了个手机App开发的课设,对于安卓这块,之前自学过一段时间,有些东西太久没用已经淡忘了 准备随笔记录些复习笔记,也当做温故知新吧~ 1.什么是WebVie ...

  7. WebView随学笔记

    对于WebView而言我们需要掌握的内容是: /** 学习目标:webView * 1).将WebView加入到应用中 * 2).使用WebView加载页面 * 3).获取网络访问 * 4).在Web ...

  8. Android学习笔记50:使用WebView控件浏览网页

    在Android中,可以使用Webview控件来浏览网页.通过使用该控件,我们可以自制一个简单的浏览器,运行效果如图1所示. 图1 运行效果 1.WebView 在使用WebView控件时,首先需要在 ...

  9. Android开发学习笔记:浅谈WebView(转)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/647456 ...

随机推荐

  1. SQL Server 2008 查询所有用户表

    SQL Server 2008 查询所有用户表的T-SQL语句是: SELECT * FROM sysobjects WHERE [xtype] = 'U' 或者是: SELECT * FROM sy ...

  2. zabbix 通过smtp 邮件报警

    注:sendemail 不是sendmail....sendemail是用perl语言写的一个smtp发邮件的小程序....详情可自行查阅..... 1. media 用户配置下的media. Adm ...

  3. @NotNull丶@NotBlank丶@NotEmpty

    1.@NotNull:不能为 Null,但是可以为Empty:用在基本数据类型上. @NotNull(message="{state.notnull.valid}", groups ...

  4. [转] JS运算符 &&和|| 及其优先级

    第一.&& (逻辑与)运算,看一个简单的例子: var a = 1 && 2 && 3; var b = 0 && 1 &&am ...

  5. XAMPP安装教程

    XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.这个软件包原来的名字是LAMPP,但是为了避免误解,最新的几个版本就改名为 XAMPP 了.它可以在Window ...

  6. ubuntu 下 github 使用方法 以及异常修改

    接触github很长时间了,github有windows 跟 mac 版本,恶心的是现在在linux 下没有可视化界面的版本.所以对于很多没有怎么接触过github的人带来很大困难.话不多说,彪重点: ...

  7. 用Set中元素做条件查询

    一个老师教许多学生,一个学生被许多老师教,一个学生有好多书,同一种书被许多同学拥有.查询教拥有书"a"的学生的老师:   class teacher{   String id;   ...

  8. Linux_install mod_ssl openssl apache

    1.下载 mod_ssl 和 apache 登入http://www.modssl.org/source/,下载 mod_ssl-2.8.31-1.3.41.targz: 2.8.31是mod_ssl ...

  9. DotNET知识点总结三(笔记整合)

    使用接口的注意事项: 接口中的成员不能加访问修饰符 接口中的成员不能有任何实现 实现接口的子类必须实现接口的全部成员 一个类可以同时继承一个类并实现多个接口,如果一个子类同时继承了父类A,并实现了接口 ...

  10. Oracle基本分组查询group by的使用

    (1)查询各个工作岗位的总人数 (2)查询各个工作岗位的总工资 (3)查询各个工作岗位的平均工资