【HarmonyOS NEXT开发】鸿蒙开发环境准备,ArkTS基础语法入门

2024-08-30 08:44

本文主要是介绍【HarmonyOS NEXT开发】鸿蒙开发环境准备,ArkTS基础语法入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
在这里插入图片描述

文章目录

    • 鸿蒙开发环境准备,ArkTS基础语法入门
        • 大纲
        • 简介
          • DevEco Studio简介
          • 运行环境要求
        • 安装与配置
          • 开发工具下载
          • Harmony OS 和 OpenHarmony 的区别
          • Previewer
          • 汉化插件的配置
        • ArkTS基础快速入门
          • 1. 解释说明
          • 2. 变量与常量
          • 3. 变量命名规则
          • 4. 数组
          • 5. 函数
            • 定义函数
            • 调用函数
          • 6. 箭头函数
          • 7. 对象
          • 8. 联合类型
          • 9. 枚举
          • 实例:创建一个学生信息系统

鸿蒙开发环境准备,ArkTS基础语法入门

大纲
  • 主题:鸿蒙开发环境准备,ArkTS基础语法入门。

  • 内容摘要:带领直播课的观众一步步安装好DevEco Studio,配置好开发环境。学习基础的ArkTS 语法,能够基本掌握鸿蒙开发的核心语言ArkTs,包括数组,函数的基本使用,对象方法,接口&对象…

简介
DevEco Studio简介

HUAWEI DevEco Studio(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,为运行在HarmonyOS系统上的应用和服务(以下简称应用/服务)提供一站式的开发平台。

作为一款开发工具,除了具有基本的代码开发、编译构建及调测等功能外,DevEco Studio还具有如下特点:

  • 高效智能代码编辑:支持ArkTS、JS、C/C++等语言的代码高亮、代码智能补齐、代码错误检查、代码自动跳转、代码格式化、代码查找等功能,提升代码编写效率。
  • 多端双向实时预览:支持UI界面代码的双向预览、实时预览、动态预览、组件预览以及多端设备预览,便于快速查看代码运行效果。
  • 多端设备模拟仿真:提供HarmonyOS本地模拟器,支持Phone等设备的模拟仿真,便捷获取调试环境。
  • DevEco Profiler性能调优:提供实时监控能力和场景化调优模板,便于全方位的设备资源监测,采集数据覆盖多个维度,为开发者带来高效、直通代码行的调优体验。
运行环境要求

为保证DevEco Studio正常运行,建议电脑配置满足如下要求:

  • 操作系统:Windows10 64位、Windows11 64位
  • 内存:16GB及以上
  • 硬盘:100GB及以上
  • 分辨率:1280*800像素及以上
安装与配置
开发工具下载

进入到网址:https://developer.huawei.com/consumer/cn/deveco-studio/,点击立即下载,Mac(X86)适用于英特尔的处理器,Max(ARM)适用于M系列的处理器。

首先,我们下载DevEco Studio,其是基于Itellij IDEA Community定制化开发的专注于HarmonyOS应用和设备的开发的集成开发环境(IDE)。

在勾选三个选项时,只需勾选创建快捷方式即可。

DevEco Studio提供开箱即用的开发体验,将HarmonyOS SDK、Node.js、Hvigor、OHPM、模拟器平台等进行合一打包,简化DevEco Studio安装配置流程。

以前的版本需要手动配置Node.js,SDK;对于最新的版本,HarmonyOS SDK已嵌入DevEco Studio中,无需额外下载配置。HarmonyOS SDK可以在DevEco Studio安装位置下DevEco Studio\sdk目录中查看。如需进行OpenHarmony应用开发,可通过Settings > OpenHarmony SDK页签下载OpenHarmony SDK。

Harmony OS 和 OpenHarmony 的区别

img

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,由华为、阿里、腾讯、百度、浪潮、招商银行、360等十家互联网企业共同发起组建。这一项目的目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。从“Open”一词中可以看出,它是一个开放源代码的项目,由华为雇佣的开发者编写代码,而后,华为将HarmonyOS中的基础功能提取出来,打包成一个名为“OpenHarmony”的项目,并捐赠给了开放原子开源基金会。作为一个开源项目,OpenHarmony不包括AOSP的组成部分,因此不支持apk安装。这意味着使用者只需遵守开源协议和法律即可使用。

img

HarmonyOS是华为基于OpenHarmony、AOSP等开源项目开发的面向多种全场景智能设备的商用版本。如果将OpenHarmony理解为基础地基,HarmonyOS则是在此基础上建立的精装房。为了保护华为现有手机和平板用户的数字资产,HarmonyOS 2在遵循AOSP的开源许可的基础上,实现了现有Android生态应用在部分搭载该系统设备上的运行,支持apk安装。HarmonyOS的其他称呼包括鸿蒙操作系统和鸿蒙OS。

如果你是一名应用开发工程师,专注于华为终端设备的应用开发,那么选择HarmonyOS可能更合适。如果你对HarmonyOS底层的技术感兴趣,或者想对HarmonyOS做出贡献,那么选择OpenHarmony将是一个不错的选择。当然,如果想更进一步,基于OpenHarmony开源项目进行二次开发制作属于自己的操作系统,也是一个很好的选择。

在这里插入图片描述

Previewer

预览代码的效果,根据代码的变化实时变化。

在这里插入图片描述

向观众演示随着message内容的变化,右侧Previewer的内容也发生了相应的变化。

汉化插件的配置

ArkTS基础快速入门
1. 解释说明
// console.log('消息说明','打印的内容')
console.log('我说','HelloWorld')// 如果想要修改分隔符
console.log('我说'+','+'Hello World')
console.log(['我说','HelloWorld'].join(","))

相当于给console.log()传入两个参数,当代码执行时,会在控制台输出每个参数并且自动在每个参数之间插入一个空格。

输出的结果可以在DevEco Studio底部的Log中进行查看。
在这里插入图片描述

拓展:代码区保存和预览区reload的区别

  • Ctrl+S保存代码

    当你按下 Ctrl+S 保存代码时,DevEco Studio 通常会执行一次增量编译。增量编译只会重新编译自上次构建以来更改的部分代码,这种方法使得编译速度非常快。因此,保存后的更新几乎是即时的,而且不会清除之前的日志信息。

    实时编译预览的前提是在Preview的上端开启了LivePreview,即小插头的图标。

  • 预览区 Reload

    预览区的 Reload 按钮可能会触发更复杂的操作,包括完整的 UI 刷新,甚至可能重新加载整个页面或应用。同时,Reload会导致应用的状态被重置,因此之前的日志信息会被清除。

2. 变量与常量
  • 变量

在这里插入图片描述

// let 变量名:变量类型 = 值
let title:string = '奥利奥水果捞'
let price:number = 21.8
let isSelect:boolean = true
let title:string = '奥利奥水果捞'
console.log('字符串title',title)let price:number = 21.86
console.log('价格price',price)let isSelect:boolean = true
console.log('是否被选择isSelect',isSelect)
  • 常量
// const 常量名:常量类型 = 值
const companyName:string = '华为'
const PI:number = 3.14
3. 变量命名规则
  • 只能包含数字、字母、下划线,不能以数字开头
  • 不能包含关键字(例如let const)
  • 严格区分大小写
4. 数组
let names: string[] = ['小红','小明','小张']
console.log('取到了',names[2])
5. 函数
定义函数
function 函数名(){函数体
}
function 函数名(形参1:类型,形参2:类型){函数体return 处理后的结果
}
调用函数
函数名()
函数名(实参1,实参2)
function buy(num:number,price:number){return num*price
}let totalPrice:number = buy(2,3)
console.log('最终的价格',totalPrice)
6. 箭头函数

箭头函数是一种更为简洁的函数写法,语句的末尾需要加分号。

let buy = (num:number,price:number) => {return num*price
}let totalPrice:number = buy(2,3)
console.log('最终的价格',totalPrice)
7. 对象
  • 作用:用于描述一个物体的特征行为

对象是一个可以存储多个数据的容器。

  • 定义与使用
    • 通过Interface接口约定对象结构类型
    • 定义对象并且使用
interface 接口名称{属性1:类型1属性2:类型2属性3:类型3
}
interface Person{name:stringage:numbergender:string
}let person:Person = {name:'张三',age:18,gender:'male'
}console.log('人的名字:',person.name)
console.log('人的年龄:',person.age)
console.log('人的性别:',person.gender)
interface 接口名称{方法名:(参数:类型) => 返回值类型
}
interface Person{name:stringage:numbergender:stringsing:(song:string)=>void
}let person:Person = {name:'张三',age:18,gender:'male',sing:(song:string)=>{console.log('张三','唱',song);}
}console.log('人的名字:',person.name)
console.log('人的年龄:',person.age)
console.log('人的性别:',person.gender)
person.sing('我和我的祖国')
8. 联合类型
  • 适用于不用类型
let judge:number | string = 100
judge = 'A+'
console.log('评价',judge)
  • 锁定类型
let gender: 'male' | 'female' | 'secret' = 'male'
console.log('性别',gender)
9. 枚举
enum 枚举名{常量1 =,常量2 =,......
}
enum ThemeColor{RED = '#ff0f29',ORANGE = '#ff7100',GREEN = '#30b30e'
}let color:ThemeColor = ThemeColor.RED
实例:创建一个学生信息系统
  • 描述

你需要创建一个系统来管理学生的信息。每个学生有名字、年龄、性别以及成绩。通过函数计算并打印每个学生的总成绩。使用枚举表示成绩等级,并用对象描述学生信息

  • 要求
  1. 使用 interface 定义学生的信息。
  2. 使用枚举来表示成绩等级。
  3. 使用函数计算总成绩。
  4. 使用箭头函数打印学生信息。
// 定义枚举
enum GradeLevel {A = '优秀',B = '良好',C = '中等',D = '及格',F = '不及格'
}// 定义学生接口
interface Student {name: string;age: number;gender: 'male' | 'female' | 'secret';scores: number[];gradeLevel?: GradeLevel;  // 可选属性
}// 函数计算总成绩
function calculateTotalScore(scores: number[]): number {// array.reduce(callbackFn,initialValue);// callbackFn:(accumulator,currentValue)=>... 将第一个元素作为accumulator,并从第二个元素开始处理数组。return scores.reduce((total, score) => total + score, 0);
}// 箭头函数打印学生信息
let printStudentInfo = (student: Student): void => {const totalScore = calculateTotalScore(student.scores);console.log(`学生姓名: ${student.name}`);console.log(`年龄: ${student.age}`);console.log(`性别: ${student.gender}`);console.log(`总成绩: ${totalScore}`);student.gradeLevel = totalScore >= 90 ? GradeLevel.A : (totalScore >= 80 ? GradeLevel.B : (totalScore >= 70 ? GradeLevel.C : (totalScore >= 60 ? GradeLevel.D : GradeLevel.F)));console.log(`成绩等级: ${student.gradeLevel}`);
}// 创建学生对象
let student: Student = {name: '李华',age: 16,gender: 'male',scores: [88, 92, 76, 81]
}

在这里插入图片描述

这篇关于【HarmonyOS NEXT开发】鸿蒙开发环境准备,ArkTS基础语法入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120336

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装