HarmonyOs 4 (二) HelloWord

news/2024/7/5 5:40:31

在这里插入图片描述

目录

  • 一 开发工具下载安装
    • 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 创建第一个程序

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

image.png
image.png

  • 输入相关信息进行创建

image.png

Satge,FA模型

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

image.png

SDK版本对应关系

image.png

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

image.png

2.2 认识开发者界面

  • 汉化配置

image.png

  • 重启工具,来到汉化界面

image.png

  • 目录机构切换

image.png

  • 日志查看

image.png

  • 效果预览

image.png

  • 运行设备:目前分为真机和运程虚拟设备,建议真机(可以自己二手淘一个,我的机器荣耀30pro才800)

image.png

  • SDK 版本管理

image.png

2.3 目录结构认识

2.3.1 父目录认识

image.png

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

2.3.2 AppScope 目录

image.png

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

2.3.3 entry目录

image.png

  • ets文件夹用于存放ets代码。
  • resources文件存放模块内的多媒体及布局文件等,module.json5文件为模块的配置文件。
  • ohosTest是单元测试目录。
  • build-profile.json5是模块级配置信息,包括编译构建配置项。
  • hvigorfile.ts文件是模块级构建脚本。
  • oh-package.json5是模块级依赖配置信息文件。、
2.3.3.1 ets 目录

image.png

  • ets目录中,其分为entryability、pages两个文件夹。
  • entryability存放ability文件,用于当前ability应用逻辑和生命周期管理
  • pages存放UI界面相关代码文件,初始会生产一个Index页面。
2.3.3.2 resources目录

image.png

2.3.4 认识配置文件

2.3.4.1 app.json5

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

{
  "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
{
  "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、第三方库、资源和配置文件。

  • 默认标签和属性

image.png

  • abilities中对象的默认配置属性及描述

image.png

2.4.4.3 main_pages.json
{
  "src": [
    "pages/Index"
  ]
}

main_pages.json文件保存的是页面page的路径配置信息,所有需要进行路由跳转的page页面都要在这里进行配置。
参考资料:
华为开发者学堂

2.4 投屏工具

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

  • 点击运行程序

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

2.5 运行第一个程序

  • 点击项目结构,登录华为账号,生成凭证

image.png

  • 点击运行,查看效果,到此我们的第一个程序就完成了

image.png


http://lihuaxi.xjx100.cn/news/1855352.html

相关文章

《明解C语言》第三版 (入门篇) 第十一章练习答案

练习11-1 #include <stdio.h>int main(void) {char* p "123";printf("p \"%s\"\n", p);p "456"1; printf("p \"%s\"\n", p);return 0; } //输出“56”&#xff0c;p指向的地址1后&#xff0c;往…

TA-Lib学习研究笔记(八)——Momentum Indicators 上

TA-Lib学习研究笔记&#xff08;八&#xff09;——Momentum Indicators 上 Momentum Indicators 动量指标&#xff0c;是最重要的股票分析指标&#xff0c;能够通过数据量化分析价格、成交量&#xff0c;预测股票走势和强度&#xff0c;大部分指标都在股票软件中提供。 1. A…

C++ 学习 之 类的初始化与逗号运算符的联动

我们来看一个代码 class A { public:A(int x) {cout << "123" << endl;}A(int x, int y) {cout << "456" << endl;}}a (1, 2); int main() {} 这个代码的输出结果是什么&#xff1f; 答案是 123 因为编译器把 ( 1 , 2 ) 识别…

2分图匹配算法

定义 节点u直接无边&#xff0c;v之间无边&#xff0c;边只存在uv之间。判断方法&#xff1a;BFS染色法&#xff0c;全部染色后&#xff0c;相邻边不同色 无权二部图中的最大匹配 最大匹配即每一个都匹配上min&#xff08;u&#xff0c; v&#xff09;。贪心算法可能导致&…

LLM算法工程师面试题总结

一、请简述对大模型的基本原理和架构的理解。 大型语言模型如GPT&#xff08;Generative Pre-trained Transformer&#xff09;系列是基于自注意力机制的深度学习模型&#xff0c;主要用于处理和生成人类语言。下面简要概述了它们的一些基本原理和架构特点&#xff1a; 基本原…

openEuler学习02-系统基本操作

1、普通用户crontab没权限-以oracle用户为例 orcl:/home/oracledb> crontab -l You (oracle) are not allowed to use this program (crontab) See crontab(1) for more information 处理办法&#xff1a;# echo oracle >> /etc/cron.allow 2、普通用户无su命令的…

使用Libevent创建TCP连接的入门指南

文章目录 介绍安装Libevent创建TCP连接TCP服务器TCP客户端 应用场景 介绍 Libevent是一个用于事件驱动编程的开源库&#xff0c;它提供了跨平台的事件处理和网络编程功能。在本篇博文中&#xff0c;我们将重点介绍如何使用Libevent来创建TCP连接。通过这个简单的入门指南&…

安卓开发学习---kotlin版---笔记(一)

Hello word 前言&#xff1a;上次学习安卓&#xff0c;学了Java开发&#xff0c;简单的搭了几个安卓界面。这次要学习Kotlin语言&#xff0c;然后开发安卓&#xff0c;趁着还年轻&#xff0c;学点新东西&#xff0c;坚持~ 未来的你会感谢现在努力的你~ 主要学习资料&#xff1a…