Atitit.android  jsbridge v1新特性

1. Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的、只是参数url的写法不一样而已1

2. 三、JAVA和JS交互注意事项1

3. Js调用android java通过jsbridge2

4. JsBridge3

5. WebView   Error calling method on NPObject5

只能返回str类型,要死obj类型,就是{}的...js提示是个obj,json2str是个{}...空的对象..

1. Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的、只是参数url的写法不一样而已

// 无参数调用

contentWebView.loadUrl("javascript:javacalljs()");// 传递参数调用

2. 三、JAVA和JS交互注意事项

1、Java 调用 js 里面的函数、效率并不是很高、估计要200ms左右吧、做交互性很强的事情、这种速度很难让人接受、而js去调Java的方法、速度很快、50ms左右、所以尽量用js调用Java方法

2、Java 调用 js 的函数、没有返回值、调用了就控制不到了

3、Js 调用 Java 的方法、返回值如果是字符串、你会发现这个字符串是 native 的、转成 locale 的才能正常使用、使用 toLocaleString() 函数就可以了、不过这个函数的速度并不快、转化的字符串如果很多、将会很耗费时间

4、网页中尽量不要使用jQuery、执行起来需要5-6秒、最好使用原生的js写业务脚本、以提升加载速度、改善用户体验

作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

3. Js调用android java通过jsbridge

function btn()

{

try{

var r=jsBridge.invoke("com.example.atiplat_vodcp.browExtObj.retStr","testStr..");

alert("raw r:"+r);

try{

r=JSON.stringify(r);

}catch(e){

alert( "str2json e:"+e);

}

alert("ret from jsbrd:"+r);

}catch(e)

{

alert(e);

}

}

4. JsBridge

import java.io.PrintWriter;

import java.io.StringWriter;

import java.lang.reflect.InvocationTargetException;

import java.net.URLEncoder;

import java.util.concurrent.Callable;

import org.apache.commons.lang3.reflect.ConstructorUtils;

import org.apache.commons.lang3.reflect.MethodUtils;

import com.attilax.exception.ExUtil;

import com.attilax.ref.refx;

import android.content.Intent;

import android.net.Uri;

import android.os.Environment;

import android.os.Handler;

import android.util.Log;

import android.webkit.JavascriptInterface;

import android.widget.Toast;

public class JsBridge {

public static String getTrace(Throwable t) {

StringWriter stringWriter = new StringWriter();

PrintWriter writer = new PrintWriter(stringWriter);

t.printStackTrace(writer);

StringBuffer buffer = stringWriter.getBuffer();

return buffer.toString();

}

MainActivity mainActivity;

public JsBridge(MainActivity mainActivity2) {

mainActivity = mainActivity2;

}

// sdk17�汾���ϼ���ע�� solu click btn ma fein ..

@JavascriptInterface

public    String invoke(final String method, final Object... p1) {

String classname = refx.getClassName(method);

String meth_name = refx.getMethodName(method);

Object o;

boolean flag = true;

String trace = "$def e";

try {

o = ConstructorUtils.invokeConstructor(Class.forName(classname),

null);

catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

// throw new RuntimeException(e);

flag = false;

trace = ExUtil.getTrace(e);

return trace;

}

if (flag) {

try {

return (StringMethodUtils.invokeMethod(o, meth_name, p1);

catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

// throw new RuntimeException(e);

trace = ExUtil.getTrace(e);

return trace;

}

}

// Handler handler = new Handler();

// // Callable<V>

// handler.post(new Runnale(){

//

// public void run(){

//

// // 更新UI界面元素代码

//

// }

//

// });

// handler.

return trace;

}

5.  WebView   Error calling method on NPObject

直接android throw yg ex.走中个兰..不个ex  try给挂摇..转换成个str输出出来走ok兰...

转载于:https://www.cnblogs.com/attilax/p/5963408.html

Atitit.android  jsbridge v1新特性相关推荐

  1. Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39

    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39 V8   重构iocutilV4,use def iocFact...jettyUtil V ...

  2. Android群英传读书笔记——第十二章:Android 5.X新特性详解

    第十二章目录 12.1 Android5.X UI设计初步 12.1.1 材料的形态模拟 12.1.2 更加真实的动画 12.1.3 大色块的使用 12.2 Material Design主题 12. ...

  3. 《Android群英传》读书笔记 (5) 第十一章 搭建云端服务器 + 第十二章 Android 5.X新特性详解 + 第十三章 Android实例提高...

    第十一章 搭建云端服务器 该章主要介绍了移动后端服务的概念以及Bmob的使用,比较简单,所以略过不总结. 第十三章 Android实例提高 该章主要介绍了拼图游戏和2048的小项目实例,主要是代码,所 ...

  4. android 5.0 新功能,Android 5.0新特性有哪些?安卓5.0新功能汇总

    Android 5.0新特性有哪些?经过一段时间曝光与测试后,期待已久的Android L系统正式发布了,新一代安卓系统正式名称为Android 5.0 Lollipop(棒棒糖).Android 5 ...

  5. Android RecyclerView(五)封装Holder与Adapter(Android 5.0 新特性)

    Android RecyclerView(五)封装Holder与Adapter(Android 5.0 新特性) 1 效果 2 BaseHolder的封装 public class BaseViewH ...

  6. RecyclerView(四)设置分割线样式(Android 5.0 新特性)

    Android RecyclerView(四)设置分割线样式(Android 5.0 新特性) 样式一 在这里,其实是设置了每一个 条目布局中的子布局的android:layout_margin = ...

  7. RecyclerView(三)实现聊天窗口样式(Android 5.0 新特性)

    Android RecyclerView(三)实现聊天窗口样式(Android 5.0 新特性) 效果 1 聊天窗口子视图布局文件 1.1 左边消息视图布局文件 使用到的背景图片 <?xml v ...

  8. RecyclerView(一)综合使用综述(Android 5.0 新特性)

    Android RecyclerView(一)综合使用综述(Android 5.0 新特性) RecyclerView是support.v7包中的控件,可以说是ListView和GridView的增强 ...

  9. Android系统(62)-----Android 7.1 新特性之 Shortcuts 介绍

    Android 7.1 新特性之 Shortcuts 介绍 Android 7.1 允许 App 自定义 Shortcuts,类似 iOS 的 3D touch.通过在桌面长按 App 弹出 Shor ...

最新文章

  1. shell 执行 oracle sql
  2. floyd 判圈算法 UVa 11549 计算器谜题
  3. freemarker的常用内建函数
  4. c++语言程序设计——头文件和引用系统头文件、用户头文件的定义及使用方法
  5. Java31 gt gt gt 2_Java Template.binding方法代碼示例
  6. 大牛手把手教你!2021Java最新大厂面试真题
  7. Qt工作笔记-QString中Split与section效率实践
  8. angular6--创建项目
  9. python的__name__
  10. UCloud基于Linux内核新特性的下一代外网网关设计及相关开源工作
  11. 本次安装visual studio所用的安装程序不完整_阁楼影院安装案例
  12. cuda out of memory gpu还有空间_《室内设计》光与空间的无缝衔接
  13. 文件上传时判断是否为图片
  14. 基于Monorail的系统功能模块化
  15. springboot框架直接访问静态页面
  16. 手机读卡但显示无服务器,手机不读卡了怎么修复
  17. 力扣(144.94)补9.4
  18. el-table中使用el-popover点击取消按钮时popover框的显示与隐藏问题
  19. (智能间距换行均满足)Excel中单元格批量调整行间距,行高自动适应内容,且自动换行
  20. lucas-kanade学习

热门文章

  1. css中颜色的表示方法
  2. HTML IFRAME 用法小总结
  3. ListView通过自定义适配器来显示数据并对Item项以及子view项的控件实现监听.
  4. 实例讲解UML建模分析与设计
  5. gin HTTP/2 服务器推送
  6. 后台开发真的不需要看《tcpip详解》吗
  7. ARM汇编:汇编中proc、endp、ret、near、far指令用法
  8. 求p1+5和p2+5等于多少?
  9. typedef的用法总结
  10. Windows,远程计算机:X.X.X.X,这可能是由于CredSSP加密Oracle修正