想了解更多内容,请访问:

51CTO和华为官方战略合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

鸿蒙ACE框架-使用JS调用C++(1)

1.下载编译烧录代码

hn ` # l 1 # . 8ttps://blog.csdn.net/qq_3325y f Q r x – V9323/article/details/116143820

2.编写测试用例

打开foundation\ace\ace_engine_lite\frameworks\src\core\modules\app_module.h

  1. staticJSIValueToggleLed(constJSIValuethisVal,constJSIValue*args,uint8_targsNum);
  1. JSI::SetModuleAPI(exports,"toggleLed",AppModule::ToggleLed);

打开foundation\ace\ace_engine_lite\fD 1 + g : k Urameworks\src\core\modules\app_module.cpp

  1. JF * R } 8 8SIValuE q _ 7 r JeAppModule::ToggleLed(constJSIValuethisVal,constJSIValue*args,uint8_targsNum)
  2. {
  3. HILOG_ERROR(z ` f ( OHILOG_MODULE_ACE,"ledbuttonpressed.");
  4. printf("ledbuttonpressed\n");
  5. r{ V N X 4 9 +eturnJSI::CI U / k ? -reateUndefined(\ C 0 @);
  6. }

之后就进行编译烧录,C++层的就弄好了

3.编写HAP

打开C:\Users\XX\AppData\Local\Huawei\Sdk\js\2.1.1.18\api\smartVision\@system.app.d.ts添加API

s* a p X C ^ : n +tatic toggleLed(): void;

然后打开DEVECO在你的s k % m G p页面上写个按钮和加个点击事件

  1. <inputclass="btu"type="button"value="进入"onclick="led"></input>

  1. importrouterfrom'@system.router';
  2. importappfrom'@system.app'
  3. exportdefault{
  4. dataw T ] [ P:{
  5. },
  6. onInit(){
  7. },
  8. led:function(B [ { m r ) k [ k){
  9. app.toggleLed();
  10. }
  11. }

然后把编写好的HAP包装到3516上面

https://blog.csdn.net/qq_33259323/artia ) ! Gcle/details/1113071z u : 1 e 9 E92

4.运行

参考:https://harmonyos.51cto.c_ ^ .om/posts/3112

想了解更多内容,请访问:

51CTO和华为官方战略合作共建的鸿蒙技术社区

https://harmonyos.51cto.com