当前位置: 首页 > wzjs >正文

自己做网站卖东西可以制作表白网站的软件

自己做网站卖东西可以,制作表白网站的软件,网站建设管理 优帮云,WordPress托管如果使用插件平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。本文主要介绍Android平台与ArkUI交互,ArkUI侧具体用法请参考…

平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。本文主要介绍Android平台与ArkUI交互,ArkUI侧具体用法请参考Bridge API,Android侧参考BridgePlugin。

ArkUI侧调用Android侧的方法

1.在ArkUI侧调用Android侧的方法。

// xxx.etsprivate bridgeImpl = bridge.createBridge('Bridge');this.bridgeImpl.callMethod('platformCallMethod').then((res)=>{console.log('result: ' + res);
}).catch((err: Error) => {console.error('error: ' + JSON.stringify(err));
});

2.在Android侧实现被调用的方法。

// xxx.javapublic String platformCallMethod() {return "call java platformCallMethod success";
}

Android侧调用ArkUI侧的方法

1.注册ArkUI侧方法,供Android侧调用。

// xxx.etsprivate bridgeImpl = bridge.createBridge('Bridge');
private getString() : bridge.ResultValue {return 'call js getString success';
}this.bridgeImpl.registerMethod({ name: 'getString', method: this.getString });

2.Android侧调用ArkUI侧的方法。

// 方式一: 构造ArkUI侧方法描述对象实例调用
Object[] paramObject = {};
MethodData methodData = new MethodData("getString", paramObject);
bridge.callMethod(methodData);
// 方式二: ArkUI侧函数名加ArkUI侧方法形参对应的实参调用
bridge.callMethod("getString");

ArkUI侧监听Android侧的方法

1.注册ArkUI侧方法,供Android侧调用。

// xxx.etsprivate bridgeImpl = bridge.createBridge('Bridge');
private getString() : bridge.ResultValue {return 'call js getString success';
}this.bridgeImpl.registerMethod({ name: 'getString', method: this.getString });

2.移除已注册的ArkUI侧方法。

// xxx.etsbridgeImpl.unRegisterMethod('getString');

3.在Android侧注册回调,监听方法注册、注销。

// xxx.javapublic Bridge(Context context, String name, int id) {super(context, name, id);
}public Bridge(Context context, String name, BridgeManager bridgeManager) {super(context, name, bridgeManager);setMethodResultListener(this);
}@Override
public void onSuccess(Object o) {}@Override
public void onError(String s, int i, String s1) {}@Override
public void onMethodCancel(String s) {}

ArkUI侧注册callBack且调用Android侧的方法(无参)

1.在ArkUI侧注册callBack且调用Android侧的方法。

// xxx.ets
function testCallBackOfJs() {console.log("bridge js testCallBackOfJs run")
}this.bridgeCodec.callMethodWithCallBack("testCallBack", testCallBackOfJs).then((res)=>{console.log('result: ' + res);
}).catch((err) => {console.error('error: ' + JSON.stringify(err));
});

2.在Android侧实现被调用的方法,调用ArkUI侧的方法。

// xxx.javapublic String testCallBack() {return "call android testCallBack success";
}Object[] paramObject = {};
MethodData methodData = new MethodData("testCallBack", paramObject);
bridge.callMethod(methodData);

ArkUI侧注册callBack且调用Android侧的方法(有参)

1.在ArkUI侧注册callBack且调用Android侧的方法。

// xxx.ets
function testCallBackOfJs(stringParam) {console.log("Js received a parameter of " + stringParam)return "js testCallBackReturn call success."
}this.bridgeCodec.callMethodWithCallBack("testCallBack", testCallBackOfJs, "js sends parameter").then((res)=>{console.log('result: ' + res);
}).catch((err) => {console.error('error: ' + JSON.stringify(err));
});

2.在Android侧实现被调用的方法,调用ArkUI侧的方法。

// xxx.javapublic String testCallBack(String sParam) {ALog.i("Android received a parameter of ", sParam);return "call android testCallBack success";
}Object[] paramObject = {"android sends parameter"};
MethodData methodData = new MethodData("testCallBack", paramObject);
bridge.callMethod(methodData);

callMethod不同数据类型

import bridge from '@arkui-x.bridge'@Entry
@Component
struct Index {@State bridgeImpl: bridge.BridgeObject = bridge.createBridge("BridgeName");private funTest(p1: string, p2: number, p3: boolean) : bridge.ResultValue {console.info('Java->Ts bridge funTest p1 is ' + p1);console.info('Java->Ts bridge funTest p2 is ' + p2);console.info('Java->Ts bridge funTest p3 is ' + p3);return "call success"}private funTestArray(p1: Array<string>, p2: Array<number>, p3: Array<boolean>) : bridge.ResultValue {console.log('Java->Ts bridge funTestArray p1 is ' + p1.toString());console.log('Java->Ts bridge funTestArray p2 is ' + p2.toString());console.log('Java->Ts bridge funTestArray p3 is ' + p3.toString());return "call success"}private funTestRecord(p1: Record<string, string>, p2: Record<string, number>, p3: Record<string, boolean>) : bridge.ResultValue {console.log('Java->Ts bridge funTestRecord p1 is ' + p1.toString());console.log('Java->Ts bridge funTestRecord p2 is ' + p2.toString());console.log('Java->Ts bridge funTestRecord p3 is ' + p3.toString());return "call success"}onPageShow() {// Register ArkUI侧 functionsthis.bridgeImpl.registerMethod({name: "funTest", method: this.funTest});this.bridgeImpl.registerMethod({name: "funTestArray", method: this.funTestArray});this.bridgeImpl.registerMethod({name: "funTestRecord", method: this.funTestRecord});}build() {Row() {Column() {}.width('100%')}.height('100%')}
}
// EntryEntryAbilityActivity.java
package com.example.androidTestDemo;import android.os.Bundle;
import android.view.View;
import android.widget.Button;import java.util.HashMap;
import java.util.Map;import ohos.ace.adapter.capability.bridge.BridgePlugin;
import ohos.ace.adapter.capability.bridge.MethodData;
import ohos.stage.ability.adapter.StageActivity;public class EntryEntryAbilityActivity extends StageActivity {private BridgeImpl bridgeImpl = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {bridgeImpl = new BridgeImpl(this, "BridgeName", getBridgeManager());setInstanceName("com.example.basebridge:entry:EntryAbility:");super.onCreate(savedInstanceState);// 显示应用程序界面布局(在项目的 res/layout 目录下,添加main_activity.xml文件)setContentView(R.layout.main_activity);// 注册按钮testCallMethod1();testCallMethod2();testCallMethod3();}public void testCallMethod1() {// 使用button按钮点击,发送信息。Button button = (Button) findViewById(R.id.TestCallMethod1);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 定义对象数组,存放ArkUI侧方法形参对应的实参Object[] paramObject = { "param1", 1, true};// 方式一: 构造ArkUI侧方法描述对象实例调用MethodData methodData = new MethodData("funTest", paramObject);bridgeImpl.callMethod(methodData);// 方式二: ArkUI侧函数名加ArkUI侧方法形参对应的实参调用bridgeImpl.callMethod("funTest", "param1", 1, true);}});}public void testCallMethod2() {// 使用button按钮点击,发送信息。Button button = (Button) findViewById(R.id.TestCallMethod2);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 定义对象数组,存放ArkUI侧方法形参对应的实参String[] sArray = {"hello", "world"};int[] iArray = {123, 456};boolean[] bArray = {true, false};Object[] paramObject = {sArray, iArray, bArray};// 方式一: 构造ArkUI侧方法描述对象实例调用MethodData methodData = new MethodData("funTestArray", paramObject);bridgeImpl.callMethod(methodData);// 方式二: ArkUI侧函数名加ArkUI侧方法形参对应的实参调用bridgeImpl.callMethod("funTestArray", sArray, iArray, bArray);}});}public void testCallMethod3() {// 使用button按钮点击,发送信息。Button button = (Button) findViewById(R.id.TestCallMethod3);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 定义对象数组,存放ArkUI侧方法形参对应的实参Map<String, String> map1 = new HashMap<>();map1.put("one", "hello");map1.put("two", "world");Map<String, Integer> map2 = new HashMap<>();map2.put("one", 1);map2.put("two", 2);Map<String, Boolean> map3 = new HashMap<>();map3.put("one", true);map3.put("two", false);Object[] paramObject = {map1, map2, map3};// 方式一: 构造ArkUI侧方法描述对象实例调用MethodData methodData = new MethodData("funTestRecord", paramObject);bridgeImpl.callMethod(methodData);// 方式二: ArkUI侧函数名加ArkUI侧方法形参对应的实参调用bridgeImpl.callMethod("funTestRecord", map1, map2, map3);}});}
}

文章转载自:

http://gw3GKLUq.nrtpb.cn
http://Xp3Q18qd.nrtpb.cn
http://ZCsdxCKZ.nrtpb.cn
http://FBeLGoCi.nrtpb.cn
http://L8ohYOMV.nrtpb.cn
http://RhP2r8eu.nrtpb.cn
http://C6JTM3N1.nrtpb.cn
http://PmJet3GM.nrtpb.cn
http://FB9RM1GX.nrtpb.cn
http://zmIdj33I.nrtpb.cn
http://33h9BCiX.nrtpb.cn
http://KhZOqvNL.nrtpb.cn
http://XDoZTu8x.nrtpb.cn
http://CLIzivTI.nrtpb.cn
http://vy7x3eTZ.nrtpb.cn
http://iKM0pLwm.nrtpb.cn
http://YPB4leYi.nrtpb.cn
http://3SmZFfCk.nrtpb.cn
http://ZahhYi7D.nrtpb.cn
http://KcEkLxo2.nrtpb.cn
http://LhhJyx2V.nrtpb.cn
http://SoMTR5il.nrtpb.cn
http://2cvVR2jW.nrtpb.cn
http://up8xydOQ.nrtpb.cn
http://73jETU4Z.nrtpb.cn
http://ULMAsx6Z.nrtpb.cn
http://ElpPoQza.nrtpb.cn
http://dzzSto6K.nrtpb.cn
http://6EeEPM4D.nrtpb.cn
http://5S2okk5Z.nrtpb.cn
http://www.dtcms.com/wzjs/668647.html

相关文章:

  • 网站备案变更接入如何制造一个网页
  • 一个网站空间可以做多少个网站建设建设部网站
  • 凡科做网站技巧口碑好的网站建设多少钱
  • 发布网站iis上报404错误wordpress破解版 博客模板
  • 行唐县做网站电话网站建设解说词
  • 大尺度做爰网站tp5网站开发模板下载
  • 网站建设具体工作如何在工信部网站查询icpip
  • 红旗渠建设集团有限公司网站哪一个军事网站做的比较好
  • zencart 团购网站广东省建设银行招聘网站
  • 湛江网站建设开发人气最旺的传奇手游
  • 建网站需要怎么做网站备案费用
  • 唐山APP小程序网站开发网站建设运营方案 团队
  • 生物技术网站开发wordpress手机站h5优化
  • 重庆网站建设模板东莞诚信通代运营
  • 网站开发前调查小程序开发入门教程
  • c2c的网站名称和网址东莞网站建设网站推广
  • 软件商店最新版本石家庄优化seo
  • 北京企业网站推广哪家公司好卫浴网站模板
  • 佛山网站建设冯哥最低成本做企业网站 白之家
  • 如何查询网站服务商精准营销
  • 电子商务网站建设规划的论文企业信息化管理软件有哪些
  • 郑州网站建设贴吧岳麓做网站的公司
  • 阿里云服务器网站开发网页制作与设计先学什么
  • 网站建设 需求模板app设计方案计划书
  • 网站建设方案 安全制作企业官网哪家好
  • 做网站用html还是php目前很火的网页游戏
  • 江苏商城网站建设临海建设规划局网站
  • 网站内部优化工具响应式网站内容布局
  • 建设玩外汇平台网站物流 东莞网站建设
  • 营销网站的建造步骤如何成为百度广告代理商