上一讲内容链接:一步一步教你进行鸿蒙应用开发:二、使用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、如果一切正常,将会在模拟器上看到如下界面,点击相应的按钮将会播放模块中内置的音视频。
源码工程下载链接在下一篇博文中。