Android与H5(JavaScript)之间的简单交互-学不会你砍死我

第一次写博客...怎么办..有些紧张...我要是一下走红怎么办,要是成为博客之星怎么办,好紧张..好激动啊...

注:本篇博客是作者(赵星海)的处女作,面向的是没有做过Android和H5(JavaScript)交互的萌新,大神请绕道去隔壁转转啥的...

                    Android与H5(JavaScript)的简单交互

Android响应Js的动作

1.做一个盆子接收消息(创建一个工具类,写一个方法(*带注释))

public class JavaScriptMethod {
    //andorid4.2(包括android4.2)以上,如果不写该注解,js无法调用android方法
    @JavascriptInterface
    public void showToast(String json) {
        Bean_JS bean = new Gson().fromJson(json, Bean_JS.class);
    }
}

2.给你的WebView加个属性

// 支持JavaScript
mWebView.getSettings().setJavaScriptEnabled(true);

3.继续,把下面的这些粘贴到下面

//创建上面创建类的对象
JavaScriptMethod m = new JavaScriptMethod(getActivity(), mWebView);
//其实就是告诉js,我提供给哪个对象给你调用,这样js就可以调用对象里面的方法
//第二个参数就是该类中的字符串常量
mWebView.addJavascriptInterface(m, JavaScriptMethod.JAVAINTERFACE);

4. 好了Android做完前3步就结束了

把下面的代码写到H5端JS代码的事件(点击/滑动)中

//参数一般为json格式    
var json = {"name":"javascript"};    
//javaInterface是上面所说的字符串映射对象    
window.javaInterface.showToast(JSON.stringify(json));

Android调用Js的方法

假设要调用的Js方法叫 Text()

if (Build.VERSION.SDK_INT < 18) {
    mWebView.loadUrl("javascript:Text()");
} else {
    mWebView.evaluateJavascript("javascript:Text()", new ValueCallback<String>() {
        @Override
        public void onReceiveValue(String value) {
            //此处为 js 返回的结果
        }
    });
}

---------------嚣张的分割线-------------------我扯点没用的------------------嚣张的分割线-------------

某些没接触过的东西或者没踏入过的领域,技术. 

不懂的时候死活不懂,一点逻辑都没有,无从下手,复制都不敢盲目复制,找了好多篇博客,一仔细看果断放弃,一脸懵逼

等到学会的时候才发现"我擦 这么简单,完事了?  "   

真的,在这里我要吐槽一下咱们博客里隔壁的那些邻居们,这么简单的东西写的云山雾绕的,能不能以后就像我这样,告诉读者怎么复制,复制到哪里,他需要做什么.!!!!.  

好了不扯了,第一篇博客,废话太多不合适...  

要是看到这里还没弄懂的话加我QQ441602661( 加好友的密码是: 黑A88888 )...


 

猜你喜欢

转载自blog.csdn.net/qq_39731011/article/details/79819505
今日推荐