基于鸿蒙OS开发一个前端应用

创建JS工程:做鸿蒙应用开发到底学习些啥?

若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择File > New > Create Project来创建一个新工程。选择HarmonyOS模板库,选择模板“Empty Ability”,点击Next进行下一步配置。

进入配置工程界面,Compile SDK选择“3.0.0(API 8)”(Compile SDK选择“3.1.0(API 9)”时注意同步选择 Model 为“FA”,此处以选择“3.0.0(API 8)”为例)Language选择“JS”,其他参数保持默认设置即可

说明

DevEco Studio V2.2 Beta1及更高版本支持使用JS低代码开发方式。

低代码开发方式具有丰富的UI界面编辑功能,通过可视化界面开发方式快速构建布局,可有效降低开发者的上手成本并提升开发者构建UI界面的效率。

如需使用低代码开发方式,请打开上图中的Enable Super Visual开关。

点击Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。

entry:HarmonyOS工程模块,编译构建生成一个HAP包。

src > main > js:用于存放js源码。

src > main > js > MainAbility:应用/服务的入口。

src > main > js > MainAbility > i18n:用于配置不同语言场景资源内容,比如应用文本词条、图片路径等资源。

src > main > js > MainAbility > pages:MainAbility包含的页面。

src > main > js > MainAbility > app.js:承载Ability生命周期。

src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件的详细说明请参考资源限定与访问。

src > main > config.json:模块配置文件。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。具体的配置文件说明,详见配置文件说明(JS/ArkTS)。

build-profile.json5:当前的模块信息 、编译信息配置项,包括buildOption、targets配置等。

hvigorfile.ts:模块级编译构建任务脚本,开发者可以自定义相关任务和代码实现。

build-profile.json5:应用级配置信息,包括签名、产品配置等。

hvigorfile.ts:应用级编译构建任务脚本。

构建第一个页面:做鸿蒙应用开发到底学习些啥?

使用文本组件。

工程同步完成后,在“Project”窗口,点击“entry > src > main > js > MainAbility > pages> index”,打开“index.hml”文件,设置Text组件内容。“index.hml”文件的示例如下:

添加按钮,并绑定onclick方法。

在默认页面基础上,我们添加一个button类型的input组件,作为按钮响应用户点击,从而实现跳转到另一个页面。“index.hml”文件的示例代码如下:

设置页面样式。

在“Project”窗口,点击“entry > src > main > js > MainAbility > pages> index”,打开“index.css”文件,可以对页面中文本、按钮设置宽高、字体大小、间距等样式。“index.css”文件的示例如下:

在编辑窗口右上角的侧边工具栏,点击Previewer,打开预览器。第一个页面效果如下图所示:

构建第二个页面

在“Project”窗口,打开“entry > src > main > js > MainAbility”,右键点击“pages”文件夹,选择“New > Page”,命名为“second”,点击“Finish”,即完成第二个页面的创建。可以看到文件目录结构如下:

添加文本及按钮。

参照第一个页面,在第二个页面添加文本、按钮及点击按钮绑定页面返回等。“second.hml”文件的示例如下:

设置页面样式。“second.css”文件的示例如下:

实现页面间的跳转

页面间的导航可以通过页面路由router来实现。页面路由router根据页面url找到目标页面,从而实现跳转。使用页面路由请导入router模块。

第一个页面跳转到第二个页面。

在第一个页面中,跳转按钮绑定onclick方法,点击按钮时跳转到第二页。“index.js”示例如下:

第二个页面返回到第一个页面。

在第二个页面中,返回按钮绑定back方法,点击按钮时返回到第一页。“second.js”示例如下:

打开index文件夹下的任意一个文件,点击预览器中的按钮进行刷新。效果如下图所示:

使用真机运行应用

运行HarmonyOS应用可以使用远程模拟器和物理真机设备,区别在于使用远程模拟器运行应用不需要对应用进行签名。接下来将以物理真机设备为例,介绍HarmonyOS应用的运行方法,关于模拟器的使用请参考使用Remote Emulator运行应用/服务。

将搭载HarmonyOS系统的真机与电脑连接。具体指导及要求,可查看使用本地真机运行应用/服务。

点击File > Project Structure... > Project > SigningConfigs界面勾选“Support HarmonyOS”和“Automatically generate signature”,点击界面提示的“Sign In”,使用华为帐号登录。等待自动签名完成后,点击“OK”即可。如下图所示:

在编辑窗口右上角的工具栏,点击按钮运行。效果如下图所示:

恭喜您已经使用JS语言开发(FA模型)完成了第一个HarmonyOS应用

为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术,这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》(共计890页),希望对大家有所帮助:做鸿蒙应用开发到底学习些啥?

《鸿蒙 (Harmony OS)开发学习手册》

入门必看

1. 应用开发导读(ArkTS)

2. 应用开发导读(Java)

HarmonyOS 概念

1. 系统定义

2. 技术架构

3. 技术特性

4. 系统安全

如何快速入门?

1. 基本概念

2. 构建第一个ArkTS应用

3. 构建第一个JS应用

4. ……

开发基础知识

1. 应用基础知识

2. 配置文件

3. 应用数据管理

4. 应用安全管理

5. 应用隐私保护

6. 三方应用调用管控机制

7. 资源分类与访问

8. 学习ArkTS语言

9. ……

基于ArkTS 开发

1. Ability开发

2. UI开发

3. 公共事件与通知

4. 窗口管理

5. 媒体

6. 安全

7. 网络与链接

8. 电话服务

9. 数据管理

10. 后台任务(Background Task)管理

11. 设备管理

12. 设备使用信息统计

13. DFX

14. 国际化开发

15. 折叠屏系列

16. ……

除了上面整理的学习文档中的核心技术需要掌握以外,还有数据结构,算法,等基础技术点是你必须掌握的,不过都已经被我整理PDF模板,不需要你自己去摸索爬坑。获取方式:点赞、关注、转发。私信回复(鸿蒙)即可获取鸿蒙开发资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/275842.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ROS MoveIt!

MoveIt!是一个用于ROS的开源运动规划库,提供多种功能,包括用于运动规划的快速逆运动学分析、用于操纵的高级算法、机械手控制、动力学、控制器和运动规划。(通过提供一个GUI来协助MoveIt!所需的各种设置,它允许使用RViz进行视觉反…

算法导论复习纲要

函数 1. 上界下界,紧确界的定义 2. 求解递推式,代入法,递归树法,主方法 分治算法 动态规划 1. 切割钢条:递归方法,动态的自上而下, 2. 矩阵乘法:最优子结构性的证明&#xff0c…

腾讯云服务器如何买(购买腾讯云服务器的详细步骤)

腾讯云服务器购买流程直接在官方秒杀活动上购买比较划算,在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵,但是自定义购买云服务器CPU内存带宽配置选择范围广,活动上购买只能选择固定的活动机,选择范围窄,但是…

Hadoop YARN CGroup 实践

文章目录 Hadoop YARN Cgroups 实践什么是 cgroupscgroups 概念YARN 使用 cgroups 背景cgroups 在 YARN 中的工作原理cgroups 在 YARN 中的实践步骤参考 Hadoop YARN Cgroups 实践 什么是 cgroups cgroups 的全名叫做 Control Groups, 它是 Linux 内核的一个功能&…

技术资讯:2023编程语言排行榜,出炉啦!

大家好,我是大澈! 本文约2000字,整篇阅读大约需要4分钟。 感谢关注微信公众号:“程序员大澈”,免费领取"面试礼包"一份,然后免费加入问答群,从此让解决问题的你不再孤单&#xff01…

深信服AF防火墙配置SSL VPN

防火墙版本:8.0.85 需提前确认防火墙是是否有SSL VPN的授权,确认授权用户数量 1、确认内外网接口划分 2、网络→SSL VPN,选择内外网接口地址 3、SSL VPN→用户管理→新增一个SSL VPN的用户 4、新增L3VPN资源,类型选择Other&…

12.18构建哈夫曼树(优先队列),图的存储方式,一些细节(auto,pair用法,结构体指针)

为结构体自身时,用.调用成员变量;为结构体指针时,用->调用成员变量 所以存在结构体数组时,调用数组元素里的成员变量,就是要用. 结构体自身只有在new时才会创建出来,而其指针可以随意创建 在用new时&…

听GPT 讲Rust源代码--src/tools(28)

File: rust/src/tools/clippy/clippy_lints/src/operators/identity_op.rs 文件路径 rust/src/tools/clippy/clippy_lints/src/operators/identity_op.rs 中的作用是定义了 IdentityOp 类型的 Clippy lint 规则,用于检查代码中是否存在不必要的恒等操作符&#xff0…

Tiny Object Detection

文章目录 RFLA: Gaussian Receptive Field based Label Assignment for Tiny Object Detection(ECCV2022)Dynamic Coarse-to-Fine Learning for Oriented Tiny Object Detection(CVPR2023)TOD-CMLNN(2023) …

为什么LED显示屏显示会有色差?

在LED显示屏的销售过程中,由于尾货来自不同批次的产品,其亮度差异不可避免,导致拼装后的显示效果不佳。为解决这一问题,逐点校正技术应运而生。逐点校正技术是一项用于提升LED电子屏亮度均匀性和色彩保真度的技术。通过对LED显示屏…

深度学习核心技术与实践之深度学习基础篇

非书中全部内容,只是写了些自认为有收获的部分 神经网络 生物神经元的特点 (1)人体各种神经元本身的构成很相似 (2)早期的大脑损伤,其功能可能是以其他部位的神经元来代替实现的 (3&#x…

C# 常用数据类型及取值范围

1.常见数据类型和取值范围 序号数据类型占字节数取值范围1byte10 到 2552sbyte1-128 到 1273short 2-32,768 到 32,7674ushort20 到 65,5355int4-2,147,483,648 到 2,147,483,6476uint40 到 4,294,967,2957float41.5 x 10−45 至 3.4 x 10388double85.0 10−324 到 1.…

[玩转AIGC]LLaMA2训练自己的中文故事撰写神器(content generation)

目录 一、下载并加载中文数据集二、中文数据集处理1、数据格式2、数据集处理之tokenizer训练格式1)先将一篇篇文本拼凑到一起(只是简单的拼凑一起,用于训练tokenizer)2)将数据集进行合并 3、数据集处理之模型&#xff…

关于设计模式、Java基础面试题

前言 之前为了准备面试,收集整理了一些面试题。 本篇文章更新时间2023年12月27日。 最新的内容可以看我的原文:https://www.yuque.com/wfzx/ninzck/cbf0cxkrr6s1kniv 设计模式 单例共有几种写法? 细分起来就有9种:懒汉&#x…

程序员的三大美德

Perl 语言的发明人 Larry Wall 一个经典叙述:优秀程序员应该有三大美德:懒惰、急躁和傲慢(Laziness, Impatience and hubris)。 有人甚至为此专门打造了一个三大美德的网站,阐释这个初看起来匪夷所思的说法。 懒惰&am…

ES6的一些高级技巧

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…

作业--day38

1.定义一个Person类,包含私有成员,int *age,string &name,一个Stu类,包含私有成员double *score,Person p1,写出Person类和Stu类的特殊成员函数,并写一个Stu的show函数&#xff…

【AI+MJ提示词】Midjourney提示词系统化-反乌托邦(Dystopian)和技术朋克

反乌托邦(Dystopian)和技术朋克 反乌托邦(Dystopian)和技术朋克(Techno Punk)都是描述未来世界的文学流派。 反乌托邦描述的未来世界通常是一个被政府或强大机构严格控制的世界,人们的生活被监…

SuperMap iClient3D for WebGL实现浮动点效果

文章目录 前言一、update方法二、创建实体点三、效果 前言 基于SuperMap iClient3D for WebGL实现浮动点效果,原理就是不断改变实体的高度,这里我们选择使用CallbackProperty来实现。 一、update方法 var cc 0 var dd truevar update function() {i…

【网络安全 | 扫描器】御剑安装及使用教程详析

御剑是一款传统的Web网络安全综合检测程序,支持对PHP、JSP、ASPX等文件进行扫描,具备全扫描、网络安全扫描和主机安全扫描能力,方便发现网站漏洞。 文章目录 下载使用教程 本文对御剑的安装及使用教程进行详析 下载 下载地址读者可自行上网…