Android 端01:小程序双向通道 -tiny2native| 学习笔记

简介: 快速学习 Android 端01:小程序双向通道-tiny2native。

开发者学堂课程【mPaaS 小程序开发实战 - 教你如何独立运行小程序 :Android 端01:小程序双向通道 -tiny2native】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/741/detail/13127


Android 端01:小程序双向通道-tiny2native

 

内容介绍:

一、自定义 API

二、注册 API

三、小程序调用

 

自定义双向通道代表小程序是一个容器,然后有一些定制 API 的需求,从小程序端向哪种端发送事件。例如从 menu端将事件发送给小程序。本节基于上述自定义内容来做简单介绍。

 

一、自定义API

小程序调用原生自定义 API

自定义API

public class MyJSApiPlugin extends H5SimplePlugin {

/**

*自定义 API

*/

public static final String TINY_TO_NATIVE = "tinyToNative";

@Override

public void onPrepare(H5EventFilter filter) {

super.onPrepare(filter);

//onPrepare 中需要 add 进来

filter.addAction(TINY_TO_NATIVE);

}

@Override

public boolean handleEvent(H5Event event,H5BridgeContext context) {

String action = event.getAction();

if (TINY_TO_NATIVE.equalslgnoreCase(action)) {

JSONObject params = event.getParam();

String param1 = params.getString("param1");

String param2 = params.getString("param2");

JSONObject result = new JSONObject();

result.put(“success" , true);

result.put("message", "客户端接收到参数:" + param1 + ", " + param2+"\n返回Demo当前包名:”+ context.getActivity().getPackageName()

context.sendBridgeResult(result);

return true;

}

return false;

}

}

复制上述代码到已经准备好可以打开小程序的工程中,新建

image.png

然后粘贴在 MyJSApiPlugin 中,添加依赖。

以上插件已经写好,是自定义的 api,API 名称为 tinyToNative,然后在onPrepare中将事件加入 filter 中,同时在handleEvent中对事件进行拦截处理,处理逻辑为通过 event.getParam 拿到小程序发给我们的入参,然后对它进行一些打包处理,将结果通过 result JSONObject 传回给小程序端。

 

二、注册 API

以上自定义的 API 就写好了,接着将它注册,在代码 MyAppliaction 中找到 public void onPostInit(),

写入

MPNebula.registerH5Plugin(MyJSApiPlugin.class.getName(),””,”page”,new String[]{MyJSApiPlugin.TINY_TO_NATIVE});

 

三、小程序调用

可以直接使用小程序的示例 demo,其中有 tiny-to-native.js 的页面,页面中存在一个按钮直接调用 tiny-to-native。

Page({

tinyToNative() {

my.call(‘tinyToNative", {

param1:'p1aaa ’ ,

param2: 'p2bbb’,

}, (result) => {

console.log(result);

my.showToast({

type: 'none ' ,

content: result.message,

duration: 3000,

});

})

}

});

通过以上形式调用本地客户端,调用后代码 MyApplication 中的

String param1 = params.getString(“param1”);

String param2 = params.getString(“param2”);

Param1 和 param2 就会变成 p1aaa 和 p2bbb

然后回传给小程序端,小程序端拿到 result 后拿到 result.message

以上就是小程序发送一个请求并且收到回调的流程。

运行工程,额可以看到安装已经成功。

image.png

下载完成后打开,找到自定义 API,点击触发自定义 API,显示:客户端接收到参数:p1aaa,p2bbb 返回 demo当 前包名:com.mpaas.demo。

相关文章
|
6月前
|
Web App开发 小程序 前端开发
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
116 10
|
6月前
|
小程序
小程序学习笔记(7) -- 自定义组件案例
小程序学习笔记(7) -- 自定义组件案例
|
6月前
|
小程序 测试技术 API
微信小程序学习笔记(6) -- 本地生活项目
微信小程序学习笔记(6) -- 本地生活项目
103 0
|
3月前
|
编解码 监控 API
惊艳登场!揭秘如何在Android平台上轻松玩转GB28181标准,实现多视频通道接入的超实用指南!
【8月更文挑战第14天】GB28181是公共安全视频监控联网的技术标准。本文介绍如何在Android平台上实现该标准下的多视频通道接入。首先准备开发环境,接着引入GB28181 SDK依赖并初始化SDK。实现设备注册与登录后,通过指定不同通道号请求多路视频流。最后,处理接收到的数据并显示给用户。此过程涉及视频解码,需确保应用稳定及良好的用户体验。
41 0
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的安卓的微博客系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的安卓的微博客系统附带文章和源代码部署视频讲解等
46 2
|
5月前
|
小程序
微信小程序学习笔记(入门篇)
微信小程序学习笔记(入门篇)
63 0
|
5月前
|
小程序 前端开发 Android开发
Android企业微信分享到小程序
Android企业微信分享到小程序
51 0
|
6月前
|
架构师 网络协议 算法
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
|
6月前
|
消息中间件 缓存 架构师
2024年阿里Android高级面试题分享,附学习笔记+面试整理+进阶书籍
2024年阿里Android高级面试题分享,附学习笔记+面试整理+进阶书籍
|
6月前
|
小程序 Java 数据挖掘
Java校园智慧管理云平台源码 小程序+android电子班牌系统
智慧校园技术架构 ❀后端:Java ❀框架:springboot ❀前端页面:vue +element-ui ❀小程序:小程序原生开发 ❀电子班牌:Java Android
182 0
下一篇
无影云桌面