HarmonyOS第一课——DevEco Studio的使用

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 完成配置;

签名完成后,在本地生成密钥(.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风格的编码方式;

关于组件布局

ts 复制代码
@Entry
@Component
struct Second {}
@State
build() {}

Text()
Button()

在副一级文件夹上 右击新建 ArkTS File 或新建 Empty Page;

配置新建页面的路由:

  • 打开"entry > src > main > resources > base > profile",在main_pages.json文件中的"src"下配置第二个页面的路由
ts 复制代码
{
  "src": [
    "pages/Index",
    "pages/Second"
  ]
}

页面间跳转:

Ark翻译过来时"方舟"

ts 复制代码
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",使用华为账号登录。等待自动签名完成;

注:到现在还只是刷教程,回头得买台新电脑。。。

相关推荐
yilylong2 小时前
鸿蒙(Harmony)实现滑块验证码
华为·harmonyos·鸿蒙
HarmonyOS_SDK3 小时前
融合虚拟与现实,AR Engine为用户提供沉浸式交互体验
harmonyos
- 羊羊不超越 -4 小时前
App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)
android·ios·harmonyos
长弓三石6 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
SameX7 小时前
鸿蒙 Next 电商应用安全支付与密码保护实践
前端·harmonyos
SuperHeroWu78 小时前
【HarmonyOS】键盘遮挡输入框UI布局处理
华为·harmonyos·压缩·keyboard·键盘遮挡·抬起
sanzk13 小时前
华为鸿蒙应用开发
华为·harmonyos
SoraLuna17 小时前
「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现
macos·ui·harmonyos
ClkLog-开源埋点用户分析18 小时前
ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力
华为·开源·开源软件·harmonyos