关于WebView的复习

最近不知为啥,公司提出要用webView,偷笑不止。在青软上课的时候学过这东西,是说条件比较紧张的时候可以拿来充数的,现在公司里手机端开发人员很多,做的好好的,放着原生ui不用,非要赶时髦搞什么WebView。想不到,想不到,他们居然都不知道怎么传参,哈哈哈。虽然清晰的记得有个大概,但是没谱的话我是不会说的,于是回来或复习或恶补了一下,做些笔记如下。

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

上面是设置一些webView控件的参数。

穿参道jsp可以通过url,而返回值要麻烦点,除了上面的,还有:

webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());

这时候我们需要先做一个类备用:

public class QingsoftJS {
    private Context context;

    public QingsoftJS(Context context){
        this.context = context;
    }

    @JavascriptInterface
    public void showMessage(String mes){
        Toast.makeText(context, mes, Toast.LENGTH_LONG).show();
    }

}

主要是需要做方法的注解。然后通过webView对象的addJavascriptInterface方法,把这个对象绑定到一个js对象上,通过一个String类型的参数指定js对象名称。这样在jsp页面中就可以通过这个js对象调用被注解的方法,而这个方法是可以带参数的,于是我们可以通过这个接口做很多事情。

不可思议哦,通过js直接执行java代码了都,还要dwr做什么?其实我一开始想起来的不是这样子,好像是安卓有个后台监听什么的,完全想歪了,幸好没有开口不然丢人丢大了。不过方法绝对不是就这一种,谁说用socket自己写一套监听就绝对是行不通的?但是有现成的方法不用,我没必要这么拼,太傻太傻。

时间: 2024-08-26 19:12:36

关于WebView的复习的相关文章

安卓开发复习笔记——WebView组件

我们专业方向本是JAVA Web,这学期突然来了个手机App开发的课设,对于安卓这块,之前自学过一段时间,有些东西太久没用已经淡忘了 准备随笔记录些复习笔记,也当做温故知新吧~ 1.什么是WebView? WebView(网络视图)能加载显示网页,可以将其视为一个浏览器,它使用了WebKit渲染引擎加载显示网页. 废话不多说,直接上代码 1.需要在xml布局文件中声明WebView组件 1 <WebView 2 android:id="@+id/webview" 3 androi

复习之webview(观看张荣超视频)

webview定义的两张方式: 1,是在xml文件里面进行定义: 2,实在代码里面定义: 3,在webview上显示内容必要的配置: 4常见的设置: 是否支持javascript 是否支持缩放,是否显示缩放工具 //支持javascript web.getSettings().setJavaScriptEnabled(true); // 设置可以支持缩放 web.getSettings().setSupportZoom(true); // 设置出现缩放工具 web.getSettings().s

android, webview的SSL加密

这是第一篇博客,为了以后好复习,当然能帮到别人解决问题,会很开心的. 最近在弄ssl加密的,对webview进行ssl加密,主要是复写WebViewClient 的onReceivedSslError. class MyWebViewClient extends WebViewClient{ @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handl

10.3.3 WebView的几个常见功能

当前主流的开发模式是"WebView+ProgressDialog" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_paren

Android WebView 开发教程

1.WebView的使用 (a). 创建WebView的实例加入到Activity中 WebView webview = new WebView(this); setContentView(webview); 或者在xml中配置WebView <Webview android:layout_width="match_parent" android:layout_height="match_parent" > </Webview> (b). 访

C++基础复习

一. C++与C的比较: C语言是一个结构化语言,它的重点在于算法和数据结构,C语言的设计首先要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到的输出(或实现过程(事物)控制). C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制. 所以C语言和C++的最大区别在于它们解决问题的思想不同,一个面向过程一个面向对象. C++对C的"增强",表现在六个方面: 1.类型检测更为严格. 2.

WebView使用详解(三)——WebChromeClient与LoadData补充

前言: 我不会忘了我 忘了我曾说过一定会得到的梦想 --<老大>小柯 相关文章 1.<WebView使用详解(一)--Native与JS相互调用(附JadX反编译)> 2.<WebView使用详解(二)--WebViewClient与常用事件监听> 一.WebChromeClient 1.概述 (1). 与WebViewClient的区别 很多同学一看到这里有Chrome,立马就会想到google 的Chrome浏览器:这里并不是指Chrome浏览器的意思,而是泛指浏览

大量逻辑判断优化的思路——责任链模式复习总结及其和状态模式对比

俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的总结知识点如下: 责任链模式概念和例子 使用的条件 和状态模式的比较分析 责任链的优缺点 纯的责任链和不纯的责任链 javax.servlet.Filter#doFilter()方法源码分析 基于AOP思想,模拟一个拦截器 前面说了一个状态模式,总结过程中发现和这个责任链的使用场景很类似,都是为了解耦大量复杂业务逻辑判断的,那么他们有什么不同呢?回忆状态模式——状态模式允许通过改变对象的内部状态而改变对象自身的行为,这个对象

Android WebView loadData读取两次才能显示的问题

webview.loadDataWithBaseURL(null,result,"text/html", "utf-8", null); 使用loadDataWithBaseURL替代loadData 参考网址:http://stackoverflow.com/questions/17501860/had-to-load-data-twice-to-make-webview-refresh-in-android