HarmonyOs 4 (二) HelloWord

目录

  • 一 开发工具下载安装

    • 1.1 下载安装包
    • 1.2 下载相关依赖
  • 二 开发者注册与个人实名认证

  • 三 第一个程序

    • 2.1 创建第一个程序
    • 2.2 认识开发者界面
    • 2.3 目录结构认识
      • 2.3.1 父目录认识
      • 2.3.2 AppScope 目录
      • 2.3.3 entry目录
        • 2.3.3.1 ets 目录
        • 2.3.3.2 resources目录
      • 2.3.4 认识配置文件
        • 2.3.4.1 **app.json5**
        • 2.3.4.2 module.json5
        • 2.4.4.3 **main_pages.json**
    • 2.4 投屏工具
    • 2.5 运行第一个程序
  • 💌 所属专栏:【HarmonyOs】

  • 😀 作 者:长安不及十里

  • 💻 工作:目前从事电力行业开发

  • 🌈 目标:全栈开发

  • 🚀 个人简介:一个正在努力学技术的Java工程师,专注基础和实战分享 ,欢迎咨询!

  • 📱:测试设备:荣耀30pro+HarmonyOs4


参考资料:
文档中心

一 开发工具下载安装

要求电脑内存8G以上,建议16+

1.1 下载安装包

  1. 进入官网点击下载

HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者

  1. 解压并安装
  1. 一路next进行安装







1.2 下载相关依赖





如下截图出现了警告信息,根据提示信息点击Finish按钮。

到此位置,安装完成,叉掉当前检测界面即可使用该编辑器。使用教程见课堂内容。

二 开发者注册与个人实名认证

点击如下链接,参考文档指导,完成开发者注册与个人 实名认证。(多种认证方式,任选其一。好像是银行卡认证效率最高,建议选择)
文档中心

三 第一个程序

2.1 创建第一个程序

  • 点击开发工具创建第一个项目


  • 输入相关信息进行创建

Satge,FA模型

  • FA(Feature Ability)模型:HarmonyOS早期版本开始支持的模型,已经不再主推。
  • Stage模型:HarmonyOS 3.1 Developer Preview版本开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的"舞台",因此称这种应用模型为Stage模型。
  • Stage模型之所以成为主推模型,源于其设计思想。Stage模型的设计基于如下出发点。

SDK版本对应关系

  • 点击完成,进行创建,进入开发页面

2.2 认识开发者界面

  • 汉化配置
  • 重启工具,来到汉化界面
  • 目录机构切换
  • 日志查看
  • 效果预览
  • 运行设备:目前分为真机和运程虚拟设备,建议真机(可以自己二手淘一个,我的机器荣耀30pro才800)
  • SDK 版本管理

2.3 目录结构认识

2.3.1 父目录认识

  • AppScope中存放应用全局所需要的资源文件。
  • entry是应用的主模块,存放HarmonyOS应用的代码、资源等。
  • oh_modules是工程的依赖包,存放工程依赖的源文件。
  • build-profile.json5是工程级配置信息,包括签名、产品配置等。
  • hvigorfile.ts是工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。
  • oh-package.json5是工程级依赖配置文件,用于记录引入包的配置信息。

2.3.2 AppScope 目录

  • element文件夹主要存放公共的字符串、布局文件等资源。
  • media存放全局公共的多媒体资源文件。
  • app.json5全局配置文件

2.3.3 entry目录

  • ets文件夹用于存放ets代码。
  • resources文件存放模块内的多媒体及布局文件等,module.json5文件为模块的配置文件。
  • ohosTest是单元测试目录。
  • build-profile.json5是模块级配置信息,包括编译构建配置项。
  • hvigorfile.ts文件是模块级构建脚本。
  • oh-package.json5是模块级依赖配置信息文件。、
2.3.3.1 ets 目录
  • ets目录中,其分为entryability、pages两个文件夹。
  • entryability存放ability文件,用于当前ability应用逻辑和生命周期管理
  • pages存放UI界面相关代码文件,初始会生产一个Index页面。
2.3.3.2 resources目录

2.3.4 认识配置文件

2.3.4.1 app.json5

app.json5是应用的全局的配置文件,用于存放应用公共的配置信息。

json 复制代码
{
  "app": {
    "bundleName": "com.shu",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:app_icon",
    "label": "$string:app_name"
  }
}
  • bundleName是包名。
  • vendor是应用程序供应商。
  • versionCode是用于区分应用版本。
  • versionName是版本号。
  • icon对于应用的显示图标。
  • label是应用名。
  • distributedNotificationEnabled描述应用程序是否已分发通知。
2.3.4.2 module.json5
json 复制代码
{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone",
      "tablet"
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ]
  }
}

其中module对应的是模块的配置信息,一个模块对应一个打包后的hap包,hap包全称是HarmonyOS Ability Package,其中包含了ability、第三方库、资源和配置文件。

  • 默认标签和属性
  • abilities中对象的默认配置属性及描述
2.4.4.3 main_pages.json
json 复制代码
{
  "src": [
    "pages/Index"
  ]
}

main_pages.json文件保存的是页面page的路径配置信息,所有需要进行路由跳转的page页面都要在这里进行配置。

参考资料:
华为开发者学堂

2.4 投屏工具

scrcpy-win64-v2.2.zip · 吴名112/WsqTools - Gitee.com

  • 点击运行程序


这样我们就把手机投屏到电脑上了

2.5 运行第一个程序

  • 点击项目结构,登录华为账号,生成凭证
  • 点击运行,查看效果,到此我们的第一个程序就完成了
相关推荐
极梦网络无忧2 小时前
OpenClaw 基础使用说明(中文版)
python
codeJinger2 小时前
【Python】操作Excel文件
python·excel
XLYcmy3 小时前
一个针对医疗RAG系统的数据窃取攻击工具
python·网络安全·ai·llm·agent·rag·ai安全
代码飞天3 小时前
harmonyOS开发基础之标题栏(HdsNavigation)
华为·harmonyos
Islucas3 小时前
Claude code入门保姆级教程
python·bash·claude
萝卜白菜。3 小时前
TongWeb7.0相同的类指明加载顺序
开发语言·python·pycharm
赵钰老师4 小时前
【ADCIRC】基于“python+”潮汐、风驱动循环、风暴潮等海洋水动力模拟实践技术应用
python·信息可视化·数据分析
爬山算法4 小时前
MongoDB(80)如何在MongoDB中使用多文档事务?
数据库·python·mongodb
YuanDaima20484 小时前
基于 LangChain 1.0 的检索增强生成(RAG)实战
人工智能·笔记·python·langchain·个人开发·langgraph