开发者学堂课程【mPaaS 小程序开发实战:Android 端01:小程序双向通道 -tiny2native】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/301/detail/3511
Android 端01:小程序双向通道 -tiny2native
内容介绍
一、创建小程序
二、小程序调用
自定义双通道就是你小程序的是一个容器,我们会有一些小程序定制 API的需求,我们可能会从小程序端向端去发送事件,也可能从观把时间发给小程序,基于这项自定义功能,来做一个简单的一个介绍。
一、创建小程序
首先介绍小程序调用你的媒体端的 API,需要注册一个 H55implePlugin,
新建一个可以打开小程序的安装工程,
import com.alibaba.fastjsonJSONObject;
Importcom.alipay.mobile.h5containerapiH5BridgeContext;
import com.alipay.mobile.h5containerapi.HEvent;
importcom.alipay.mobile.h5containerapi.HSEventFilter;
import com.alipay.mobile.h5containerapiHSSimplePlugin
publie class MyJSApiPlugin extends H5SimplePlugin{
/**
*自定义 API
*/
public static final String TINY TO NATIVE="tinyToNative":
@Override
public void onPrepare(H5EventFilter filter){
super.onPrepare(filter);
// onPrepare 中需要add 进来
filteraddAction(TINYTO NATIVE)
}@Override
public boolean handleEvent(H5Event event,H5BridgeContext context){
String action=event.getAction();
if(TINY_TO_NATIVEequalsIgnoreCase(action)){
JSONObject params =eventgetParam();
String param1=params.getString("param1");
Stringparam2=params.getString("param2");
JSoNObject result=newJSONObject();
result.put("success",true);
result.put("message”,"客户端接收到参数:"+paraml+"."+param2 +"\n返回 Demo 当前包名:”+ context.getActivitv0).getpackageNan
context.sendBridgeResult(result);
return true;
}
return false:
插件已经写好,以上就是我们自定义的一个 API,可以看到 api 的名称是tinyToNative,处理逻辑就是 event.getParam,结果通过 result 传回小程序端。
将他注册在 mpaas 里面,在 IInitCallback 初始化完成以后,通过调用以下代码来注册。
MPNebula.registerH5Plugin(MyJSApiPlugin.class.getName()“"page"newstring!RMyJSApiPlugin.TINY TO wATIVEF);
这里就注册完了,将 API 注册给框架。
二、小程序调用
可以直接使用样本 tinyToNative.js,这个页面有一个按钮,直接调用tinyToNative。
Page{
tinyToNative(){
my:call('tinyToNative",{
param1:'plaaa',
param2:'p2bbb'
},(result) => {
console.log(result);
my:showToast({
type: 'none',
content: result.message,
duration: 3000.});})}
});
用以上代码去调用本地客户端
本地客户端调用成功以后,前一段代码会回传给小程序端,小程序端拿到 result 之后,去拿到他 message,然后去收一个 toast,就是一个完整的小程序项目 native 发送一个请求,并且收到回调的这么一个流程。
接下来将这个工程打包跑到手机端,可以看到项目已经安装成功了,启动小程序。
自定义 API 就可以看到如下图:
