webview学习记录【经典资料】【经典资料】.docxVIP

webview学习记录【经典资料】【经典资料】.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工作中用到了webview 下面把webview相关的知识进行一下总结:首先要在manifest.main文件中创建一个webview,然后再activity中定义这个webview然后进行一下相关操作。1、添加权限:AndroidManifest.xml中必须使用许可android.permission.INTERNET,否则会出Web page not available错误。2、在要Activity中生成一个WebView组件:WebView webView = new WebView(this);3、设置WebView基本信息: 如果访问的页面中有Javascript,则webview必须设置支持Javascript。 webview.getSettings().setJavaScriptEnabled(true); 触摸焦点起作用 requestFocus(); 取消滚动条 this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);4如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。给WebView添加一个事件监听对象(WebViewClient)并重写其中的一些方法 shouldOverrideUrlLoading:对网页中超链接按钮的响应。 当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url onLoadResource onPageStart onPageFinish onReceiveError onReceivedHttpAuthRequest5、如果访问的页面中有Javascript,则webview必须设置支持Javascript ,否则显示空白页面。Java代码 webview.getSettings().setJavaScriptEnabled(true);??6、如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖webview的WebViewClient对象:Java代码 mWebView.setWebViewClient(new?WebViewClient(){?public?boolean?shouldOverrideUrlLoading(WebView?view,?String?url)?{?view.loadUrl(url);?return?true;?}});??上述方法告诉系统由我这个WebViewClient处理这个Intent,我来加载URL。点击一个链接的Intent是向上冒泡的,shouldOverrideUrlLoading方法return true表示我加载后这个Intent就消费了,不再向上冒泡了。7、如果不做任何处理,在显示你的Brower UI时,点击系统“Back”键,整个Browser会作为一个整体“Back到其他Activity中,而不是希望的在Browser的历史页面中 Back。如果希望实现在历史页面中Back,需要在当前Activity中处理并消费掉该Back事件:Java代码 public?boolean?onKeyDown(int?keyCode,?KeyEvent?event)?{?if?((keyCode?==?KeyEvent.KEYCODE_BACK)??mWebView.canGoBack())?{?mWebView.goBack();?return?true;?}?return?super.onKeyDown(keyCode,?event);}??对于Android 2.0开始又多出了一种新的方法,对于Activity 可以单独获取Back键的按下事件,直接重写 onBackPressed 方法即可,代码如下Java代码 @Override1、public?void onBackPressed() {2、 // 这里处理逻辑代码,该方法仅适用于2.0或更高版本的sdk3、 return?;4、}这里还有几个知识点:1)为了让WebView从apk文件中加载 assets,Android SDK提供了一个schema,前缀为file:///android_asset/。WebView遇到这样的schema,就去当前包中的 assets目录中找内容。如上面的file:///android_asset/demo.html2)addJavascriptInterface方法中要绑定的 Java对象及方法要运行另外的线程中,不能运行在构造他的线程中,这也是使用Handler的目的。Webview的两种显示网页的方法:(1):webview.load

文档评论(0)

专业好文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6110200002000000

1亿VIP精品文档

相关文档