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 创建第一个程序

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

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://www.mzph.cn/news/188814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE中记:静默自更新插件(多路径部署

自动更新系统原理说明文档 概述 本自动更新系统是一个基于Node.js的应用程序,用于自动检查、下载、解压并安装软件更新。它由多个脚本和一个更新服务器组成,能够在后台自动执行更新流程,确保软件保持最新状态。 组件说明 SetUp.bat: 主批…

马蹄集第34周

1.战神的对称谜题 不知道为什么超时&#xff01; def main():s input()result 0for i in range(len(s)):l i - 1r i 1while l > 0 and r < len(s) and s[l] s[r]:result max(result, r - l 1)l - 1r 1l ir i 1while l > 0 and r < len(s) and s[l] s…

Halcon 螺丝孔位定位

标定坐标&#xff1a;对整个9点标定版进行拍摄时的世界坐标HomMat2D1&#xff1a;标定后得到的换算关系孔位世界坐标&#xff1a;相机移动到孔位上的世界坐标圆心世界坐标&#xff1a;模版匹配后得到的螺丝孔位中心 相对偏移: 孔位世界坐标 - 标定坐标 目标坐标&#xff1a;圆…

【LeetCode】 160. 相交链表

相交链表 题目题解 题目 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&am…

FileInputStream 与 FileOutputStream

IO流&#xff1a;存贮和解决数据的存储方案 以上都是抽象类&#xff0c;不能创建实例 FileOutputStream 操作本地的文件&#xff0c;把文件写入本地磁盘 步骤&#xff1a; 1.创建字节输出流对象 参数是字符串表示的路径或者是File对象都是可以的如果文件不存在会创建一个新的…

redis笔记 -- 基础数据结构

redis笔记 基础的数据结构&#xff1a;string、list、hash、set、zset 容器型数据结构&#xff08;list、hash、set、zset&#xff09;通用规则 如果容器不存在&#xff0c;就创建一个&#xff0c;再进行操作如果容器里没有数据了&#xff0c;就立即删除&#xff0c;回收内存…

持续集成交付CICD:GitLabCI 运行前后端项目

目录 一、理论 1.spring项目自动构建 2.阿里云云效 Maven 3.Maven安装 4.Go安装 5.NPM安装 二、实验 1.GitLabCI 运行Maven项目 2.GitLabCI 运行Go项目 3.GitLabCI 运行NPM项目 三、问题 1.前端脚手架如何初始化项目 2.NPM下载如何指定 3.Go项目下载源如何指定 …

c++面试题

1.static的使用 1&#xff09;修饰局部变量&#xff1a;在函数内部使用static修饰局部变量&#xff0c;会使它成为静态局部变量。静态局部变量只会被初始化一次&#xff0c;且只有在第一次调用该函数时才会被初始化&#xff0c;之后每次调用该函数时都会保留上一次的值.从原来…

大数据-之LibrA数据库系统告警处理(ALM-37017 数据库连接数超限)

告警解释 当集群中单个CN实例上某个数据库的连接数超过限制时&#xff0c;产生该告警。 告警属性 告警ID 告警级别 可自动清除 37017 严重 是 告警参数 参数名称 参数含义 ServiceName 产生告警的服务名称 RoleName 产生告警的角色名称 HostName 产生告警的主机…

Vue生命周期:组件的生命之旅

&#x1f343;引言 在Vue.js中&#xff0c;每个组件都有其独特的生命周期。这个生命周期指的是组件从创建到销毁的一系列过程。了解并正确使用Vue的生命周期钩子&#xff0c;对于优化组件性能、管理组件状态以及实现特定功能至关重要。本文将详细介绍Vue的生命周期及其各个阶段…

面试官:请说说JS中的防抖和节流

给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;web前端面试题库 前言 为什么要做性能优化&#xff1f;性能优化到底有多重要&#xff1f; 性能优化是为了提供更好的用户体验、加…

数据库时间类型之间的转换魔法

解锁时间数据的魔法 时间&#xff0c;是数据库中一个充满魔法的复杂表现形式。在这篇博客中&#xff0c;我们将探讨在数据库中时间戳&#xff08;timestamp&#xff09;、日期&#xff08;date&#xff09;、日期时间&#xff08;datetime&#xff09;和字符串之间的转换技巧&…

Java面向对象第十天

精华笔记&#xff1a; 内存管理&#xff1a;由JVM来管理的----------我笔记里面有哪些就先记哪些 堆&#xff1a; 存储的是new出来的对象(包括实例变量、数组的元素) 垃圾&#xff1a;没有任何引用所指向的对象 垃圾回收器(GC)不定时到堆中清扫垃圾&#xff0c;回收过程是透明…

11.14 校招 实习 内推 面经

绿*泡*泡&#xff1a; neituijunsir 交流裙 &#xff0c;内推/实习/校招汇总表格 1、校招丨寒武纪24届校招重点岗位推介-软件类&#xff08;内推&#xff09; 校招丨寒武纪24届校招重点岗位推介-软件类&#xff08;内推&#xff09; 2、校招丨传音控股2024届秋招这些岗位还…

SpringBoot+Redis编写一个抢红包雨的案例。附源码。

案例演示 SpringBootRedis编写一个抢红包雨的案例。附源码 1、案例分析&#xff0c;整体方案介绍 预备上线一个红包雨活动。这个红包雨的思路是活动开始前25分钟&#xff0c;在后台创建活动。然后前端用户进入&#xff0c;到点后将设置的金额拆分成多个小红包&#xff0c;开启倒…

如何打造稳健高效的数据库基础设施?数据库云提出创新方案

引言 数据库的云化、丰富业务场景下多元的数据库类型、公有云与私有云交织的IT架构&#xff0c;叠加信创影响使得企业内部的基础设施日益复杂&#xff0c;如何高效管理多元的数据库和多云异构基础设施正成为企业面临的严峻挑战。在此背景下&#xff0c;数据库云应运而生。数据…

netty websocket学习

【硬核】肝了一月的Netty知识点 超详细Netty入门&#xff0c;看这篇就够了&#xff01; vuewebsokect实现实时聊天&#xff0c;可单聊、可群聊&#xff08;一&#xff09; vue实现聊天栏定位到最底部&#xff08;超简单、可直接复制使用&#xff09; vue实现指定div右键显示菜…

转向更卷的奶茶 库迪这是要在咖啡上认怂?

卖咖啡刚满一年&#xff0c;陆正耀就带着名为“茶猫”的奶茶项目再度登场。 根据多位网友的爆料&#xff0c;茶猫采取和库迪咖啡一样的联营商模式&#xff0c;且有低价补贴策略&#xff0c;主打低价茶饮市场&#xff0c;全场统一定价6.9元。 熟悉的加盟模式&#xff0c;熟悉的…

使用type实现接口继承效果

如何使用type实现接口继承的效果 接口继承的写法 // 接口继承 interface Person {name: stringage: numberhobby?: string say: (content: string) > void } interface Student extends Person {score: number }使用 type 模拟 interface的继承效果 // 使用type实现类似…

参考文献格式的引用

一、文献格式的快速引用 &#xff08;一&#xff09;参考文献的类型 参考文献的类型&#xff08;即引文出处&#xff09;以单字母方式标识在文献名后并以方括号括起&#xff0c;具体类型标识如下&#xff1a; M ——专著、普通图书 C ——论文集 N ——报纸文章 J ——期刊文章…