jsbridge android 参数,Android JsBridge 混合开发
8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
这里我要和大家介绍的是安卓端和Js交互的通道。如何搭建简单的Js交互通道。首先先说下我吧,我做过两个JS交互方案,第一个是通过url截获的方式去和原生交互,以前大众点评是用这个方案做的JsBridge。第二个是通过webView的addJavascriptInterface方法去挂载一个Js方法。
但是问题来了,我们总不能每有一个Js交互的方法就加载一个addJavascriptInterface吧。这样我们的代码就会显得很臃肿,而且和前端回调的方法也非常的困难,那么我们应该怎么做呢?
这个我做过的两个方案都出奇的统一,先有Js约定交互的方法名,然后由原生对其进行增强。
@JavascriptInterface
public void invoke(String name, String args)
throws Exception {
}
上面是我们项目中的Js回调方法,其中name就是我们需要回调的前端方法名,args是前端交互的参数,通过这些参数我们可以对前端进行增强,做一些前端做的不是很好的事情,比如分享,照相机,等等。上述代码有一点需要大家特别注意的,就是Js方法回调并不是在UI线程中,不能直接操作界面控件,切记切记。
接下来就是既然我们已经知道Js如何通知前端去进行交互,那么前端如何回调Js呢。
这里还是要返回前面带给我们的args参数,args参数中会附带一个callbackId字段,这个参数使我们回调前端Js必须的参数。
public static String getJavaScipt(String callbackid,
String args) {
return String.format("javascript:window.__YutaAppCallback(%s,%s)", callbackid, args);
}
我的项目是通过这个形式去回调这段Js的。当然在高版本的Sdk中evaluateJavascript的方法去回调Js,而低版本中我们只能通过loadUrl的方式去注入。
好了如果你有什么看不懂的地方下面是我github sample的超链接。
JsBridge 有什么问题的话可以邮件联系我,首页最下方是我的邮箱。
jsbridge android 参数,Android JsBridge 混合开发相关推荐
- Android native和h5混合开发几种常见的hybrid通信方式
前言 在看这篇文章之前你要确保你有那么一点点的js知识,没错只需要一点点,能看懂最简单的代码就可以.如果你之前没接触过js的话..也没关系,我会把其中对应的逻辑用语言表达出来. 为什么需要用到js呢, ...
- android studio+webapi+easyui混合开发
近日做了个android小例子,我是个初学者,新手上路,请多多指教. 一. 创建一个H5页面,UI使用easyui 创建assets目录,用来存放前端资源 下载easyui资源包,复制CSS.资源和j ...
- android webview定位权限,混合开发安Android webview使用内置浏览器定位的权限
具体步骤: 一.添加权限: 二.设置webview.setting WebSettings settings = webView.getSettings(); settings.setGeolocat ...
- android中使用hbuilder混合开发中提示未添加plugintest模块 请参考283
1.未添加xxxx模块 一般都会让去 http://ask.dcloud.net.cn/article/283 按照上面添加可以解决一部分问题 2.但是有些是需要android这边配置,比如plug ...
- 技术干货 | Flutter 混合开发基础
导读:Flutter 支持以独立页面.甚至是 UI 片段的方式,集成到现有的应用中,即所谓的混合开发模式.本文主要谈谈 Android 平台下, Flutter 的混合开发与构建. 文|李成达 网易云 ...
- 轻松玩转Flutter混合开发
Flutter自推出以来备受欢迎,国内最先引入使用的是闲鱼团队的闲鱼App.好多同学都知道Flutter是一套跨平台UI框架,最常见的运用则是一套代码同时可以编译出Android.iOS.H5等多种形 ...
- Android混合开发(二)——JSBridge传值注意点
本文出自:https://stilljin.blog.csdn.net/article/details/89164231 一丶概述 半年前做手机投屏功能,要求将同一局域网的设备列表传给前端进行交互,国 ...
- 谈谈Android App混合开发
推酷 文章 站点 主题 公开课 活动 客户端 荐 周刊 登录 谈谈Android App混合开发 时间 2015-08-25 20:13:43bxbxbai 原文 http://bxbxbai.gi ...
- 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | Android 端实现 MethodChannel 通信 )
文章目录 前言 一.Android 端 MethodChannel 构造函数 二.Android 端 setMethodCallHandler 方法 三.Android 端实现 MethodChann ...
最新文章
- (一)TestNG测试框架之HelloWorld入门
- 有符号数据的符号位扩展
- html页面跳转_HTTP响应协议状态码以及跳转问题
- java 内置函数_java8 四大内置核心函数式接口
- 几行代码实现谷歌百度搜索对比
- Java、SQL 十年混战史:Oracle 告 Google、“窃”IBM 往事
- php168 的采集规则的改动
- 标准误计算机excel公式,如何用excel或wps计算标准差、方差、标准误差?
- Java 读取扫描枪
- 画圆的函数----(基于MATLAB)
- android极光推送tag,Android极光推送设置别名和标签
- 如何使用格式工厂将vtt文件格式字幕加在视频文件中
- C语言深度解剖读书笔记
- ei论文计算机,容易写的计算机ei论文题目 计算机ei专业论文题目如何拟
- 20行Python代码爬取网站美女图,哇太多了,我U盘装满了
- 采购工作内容是什么?如何成为一名优秀的采购?
- IBM创磁带存储新纪录
- java初级能干什么_小黄鸭系列java基础知识 | java能干什么?
- 浅读《简约之美-软件设计之道》
- Django项目开发流程
热门文章
- Android10源码编译报错ninja: build stopped: subcommand failed处理
- 超详细——接口测试总结与分享 (51Testing软件测试网采编)
- No qualifying bean of type ‘brave.Tracer‘ available
- 郑少秋赵雅芝的八卦魅影(转载)
- 2023世界人工智能大会 | 智能媒体计算专题论坛
- 【2】中断方式和查询方式的区别
- W25Q128之类的NOR Flash 使用记录
- python之items()的用法
- np在计算机语言中是什么意思,理解-NumPy
- 富而喜悦自称时空穿越者预测世界杯12天12对惊讶网友!