一步一步教你进行鸿蒙应用开发:三、在工程中集成已有的特性模块

上一讲内容链接:一步一步教你进行鸿蒙应用开发:二、使用DevEco Studio实现“Hello World”_deveco studio模拟器上没有应用市场-优快云博客

前言

很多时候我们在进行业务开发时,并不是一味的自己去实现,现在网络如此发达,很多开发者也是拿来主义者,这很正常,大部分功能并不需要自己一行一行的敲代码去实现。我们可能需要用到的某些功能特性,网上已经有现成的资源,或者可以从官网获取到一些公共特性的示例,我们就没有必要去重复造轮子,自己拿来稍作优化即可。这样可以尽量将时间花在核心功能开发上,提升开发效率。这时可以视情况将别人已经实现的特性搬到自己的工程中(注意:搬的过程需要注意版权许可),本章内容就来教大家怎么将别人的优秀代码弄到自己的工程里面来,这也是我们进行业务开发要具备的一项重要能力。

一、获取已有特性模块(以鸿蒙官网代码示例)

1、浏览器打开鸿蒙官网示例代码的gitee地址:MultiHap

2、点击“克隆/下载”

3、点击“下载ZIP”

4、将文件保存在本地并解压,如:D:\workspace\harmonyos\applications\multi-hap-master,可以看到这里面有两个特性模块:audioFeature、videoFeature

二、集成特性模块到自己工程中

:本节以上一讲我们新建的“Hello World”工程为例,纯手工方式导入,便于大家了解工程目录结构,大家也可以通过IDE的导入功能完成导入(文件 > 新建 > 导入... > 导入模块)。

1、将下载的特性模块(audioFeature、videoFeature)拷贝到工程根目录(如:D:\workspace\harmonyos\applications\HelloWorld),如下:

2、打开工程根目录下的build-profile.json5文件,

3、在文件中的modules节点添加如下内容

    {
      "name": "audioFeature",
      "srcPath": "./audioFeature",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    },
    {
      "name": "videoFeature",
      "srcPath": "./videoFeature",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    }

三、在工程中使用导入的特性模块

1、参照原下载的特性工程中的multi-hap-master\entry\src\main\ets\pages\Index.ets文件,将相关调用代码拷贝到HelloWorld\entry\src\main\ets\pages\Index.ets文件中

  build() {
    Row() {
      Column() {
        Button(AUDIO)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            if(this.context){
              this.context.startAbility({
                bundleName: BUNDLE_NAME,
                abilityName: AUDIO_ABILITY_NAME
              }).then(() => {
                Logger.info(TAG, 'start audio ability success')
              }).catch((error: BusinessError) => {
                Logger.error(TAG, 'start audio ability failed, error: ' + JSON.stringify(error))
              })
            }
          })
          .id('btnAudio')
          .margin({bottom: 20})
        Button(VIDEO)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            if(this.context){
              this.context.startAbility({
                bundleName: BUNDLE_NAME,
                abilityName: VIDEO_ABILITY_NAME
              }).then(() => {
                Logger.info(TAG, 'start video ability success')
              }).catch((error: BusinessError) => {
                Logger.error(TAG, 'start video ability failed, error: ' + JSON.stringify(error))
              })
            }
          })
          .id('btnVideo')
      }
      .width('100%')
    }
    .height('100%')
  }

  aboutToAppear() {
    this.context = getContext(this) as common.UIAbilityContext
  }

2、将multi-hap-master\entry\src\main\ets\util\Logger.ts文件拷贝到HelloWorld\entry\src\main\ets\util目录下

四、编译构建并运行测试

1、点击构建->编译 Hap(s)/APP(s)->编辑 Hap(s),构建三个模块的hap包。

2、安装多Hap包

3、参考上一篇博客的方法开启模拟器(如果已经开启,请忽略此步)

4、点击运行图标运行此应用项目

5、如果一切正常,将会在模拟器上看到如下界面,点击相应的按钮将会播放模块中内置的音视频。

源码工程下载链接在下一篇博文中。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jackiendsc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值