HarmonyOS第一课
DevEco Studio的使用
集成开发环境:
- SDK
- 构建插件
- ohpm等工具
DevEco Studio提供开箱即用的开发体验,将HarmonyOS SDK、Node.js、Hvigor、OHPM、模拟器平台等进行合一打包,简化DevEco Studio安装配置流程。
HarmonyOS SDK已嵌入DevEco Studio中,无需额外下载配置。HarmonyOS SDK可以在DevEco Studio安装位置下DevEco Studio\sdk目录中查看。如需进行OpenHarmony应用开发,可通过Settings > OpenHarmony SDK页签下载OpenHarmony SDK。
Hello World:
- Project name:HelloWorld
- Buidle name:com.example.helloworld
- Save location:
- Compatible SDK:5.0.0(12)
- Module name(模块名):entry
- Device type:Phone Tablet 2in1 Car…
自动签名:
- File > Project Structure, Project,Signing Configs,default:
- Sign in 使用华为账号,登陆后签名材料会自动下载
- Team
- Store file(*.p12)
- Store password
- Key alias
- Key password
- Sign alg
- Profile file(*.p7b)
- Cerpath file(*.cer)
- 点击OK 完成配置;
- Sign in 使用华为账号,登陆后签名材料会自动下载
签名完成后,在本地生成密钥(.p12)、证书请求文件(.csr)、数字证书(.cer)及Profile文件(.p7b),数字证书在AppGallery Connect网站的“证书、APP ID和Profile”页签中可以查看。
之后就可以运行项目;
诊断开发环境
- 为了您开发应用/服务的良好体验,DevEco Studio提供了开发环境诊断的功能,帮助您识别开发环境是否完备。您可以在欢迎页面单击Diagnose进行诊断。如果您已经打开了工程开发界面,也可以在菜单栏单击Help > Diagnostic Tools > Diagnose Development Environment进行诊断。
- DevEco Studio开发环境诊断项包括电脑的配置、网络的连通情况、依赖的工具是否安装等。如果检测结果为未通过,请根据检查项的描述和修复建议进行处理。
设置中的 Plugins,支持安装插件,如去Installed“Chinese”简体中文插件,实现汉化;需要重启生效;
ArkTS应用
Application应用开发, Atomic Service对应为元服务开发
模板名称 | 说明 |
---|---|
Empty Ability | 用于Phone、Tablet、2in1、Car设备的模板,展示基础的Hello World功能。 |
Native C++ | 用于Phone、Tablet、2in1、Car设备的模板,作为应用调用C++代码的示例工程,界面显示“Hello World”。 |
[CloudDev]Empty Ability | 端云一体化开发通用模板。更多信息请参见端云一体化开发。 |
[Lite]Empty Ability | 用于Lite Wearable设备的模板,展示了基础的Hello World功能。可基于此模板,修改设备类型及RuntimeOS,进行小型嵌入式设备开发。请参见创建Lite工程。 |
Flexible Layout Ability | 用于创建跨设备应用开发的三层工程结构模板。三层工程结构包含common(公共能力层)、features(基础特性层)、products(产品定制层)。 |
Embeddable Ability | 用于开发支持被其他应用嵌入式运行的元服务的工程模板。 |
- 选择 Empty Ability模版
- 配置工程界面,Compatible SDK选择“5.0.0(12)”,其他参数保持默认设置即可
项目介绍:
- AppScope > app.json5:应用的全局配置信息
- entry:HarmonyOS工程模块,编译构建生成一个HAP包
- src > main > ets:用于存放ArkTS源码。
- src > main > ets > entryability:应用/服务的入口。
- src > main > ets > entrybackupability:应用提供扩展的备份恢复能力。
- src > main > ets > pages:应用/服务包含的页面。
- src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。
- src > main > module.json5:模块配置文件。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。
- build-profile.json5:当前的模块信息 、编译信息配置项,包括buildOption、targets配置等。
- hvigorfile.ts:模块级编译构建任务脚本。
- obfuscation-rules.txt:混淆规则文件。混淆开启后,在使用Release模式进行编译时,会对代码进行编译、混淆及压缩处理,保护代码资产。详见开启代码混淆。
- oh-package.json5:用来描述包名、版本、入口文件(类型声明文件)和依赖项等信息。
- oh_modules:用于存放三方库依赖信息。
- build-profile.json5:工程级配置信息,包括签名signingConfigs、产品配置products等。其中products中可配置当前运行环境,默认为HarmonyOS。
- hvigorfile.ts:工程级编译构建任务脚本。
- oh-package.json5:主要用来描述全局配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等。
表示设备的类型,取值如下:
- phone:手机
- car:车机
- tablet:平板
- tv:智慧屏
- wearable:智能穿戴
- 2in1
第一个页面
在“Project”窗口,点击“entry > src > main > ets > pages”,打开“Index.ets”文件,进行页面的编写。
应该是类js风格的编码方式;
关于组件布局
@Entry
@Component
struct Second {}
@State
build() {}Text()
Button()
在副一级文件夹上 右击新建 ArkTS File 或新建 Empty Page;
配置新建页面的路由:
打开“entry > src > main > resources > base > profile”,在main_pages.json文件中的“src”下配置第二个页面的路由
{"src": ["pages/Index","pages/Second"]
}
页面间跳转:
- 页面路由router根据页面url找到目标页面,从而实现跳转。使用页面路由请导入router模块。
- 如果需要实现更好的转场动效,推荐使用Navigation
Ark翻译过来时“方舟”
import { router } from '@kit.ArkUI';
import { BusinessError } from '@kit.BasicServicesKit';.onClick(() => {console.info(`Succeeded in clicking the 'Next' button.`)// 跳转到第二页router.pushUrl({ url: 'pages/Second' }).then(() => {console.info('Succeeded in jumping to the second page.')}).catch((err: BusinessError) => {console.error(`Failed to jump to the second page. Code is ${err.code}, message is ${err.message}`)})
})// 返回按钮绑定onClick事件,点击按钮时返回到第一页
.onClick(() => {console.info(`Succeeded in clicking the 'Back' button.`)try {// 返回第一页router.back()console.info('Succeeded in returning to the first page.')} catch (err) {let code = (err as BusinessError).code; let message = (err as BusinessError).message; console.error(`Failed to return to the first page. Code is ${code}, message is ${message}`)}
})
真机调试
- 将搭载HarmonyOS系统的真机与电脑连接
- 进行签名:点击File > Project Structure… > Project > SigningConfigs界面勾选“Support HarmonyOS”和“Automatically generate signature”,点击界面提示的“Sign In”,使用华为账号登录。等待自动签名完成;
注:到现在还只是刷教程,回头得买台新电脑。。。