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 运行第一个程序

  • 点击项目结构,登录华为账号,生成凭证
  • 点击运行,查看效果,到此我们的第一个程序就完成了
相关推荐
言乐68 小时前
HTML视频审核模型
python·django·virtualenv·pygame·tornado
言乐69 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
yl453010 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
笨笨饿10 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
for_ever_love__11 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
打工仔折腾 AI11 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
I Am a robert girl11 小时前
当传感器学会“说谎“:拆解可靠性门控的稀疏惯性动捕融合
python·姿态估计·传感器融合·惯性动捕·imu传感器·可靠性门控·可穿戴计算
李航198312 小时前
AI定制柜建模,需要详细的建模规范和标准流程
人工智能·python·计算机视觉·ai·ai编程
沙漠之主12 小时前
Python 教学设计资料:从入门到实战的完整课程方案
爬虫·python
resh_people13 小时前
开源鸿蒙平台 KMP_CMP 三方库「Kermit」适配全流程
华为·开源·harmonyos