HarmonyOS APP 开发入门_鸿蒙仓颉编程语言入门,HarmonyOS鸿蒙 面试
如图,ResourceTable.Layout_ability_main表示的是在resource下有一个叫ability_main.xml的文件,这个文件是我们的主页面,HarmonyOS的app开发是通过xml来进行页面设计的。DevEco Studio就是鸿蒙应用开发的开发工具,是基于IntelliJ IDEA Community开源版本打造的,所以如果大家有 idea的基础,在学习DevE
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。




既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注鸿蒙)
正文

3.Java开发的准备工作
1)注册开发者(略)
2)下载开发工具
DevEco Studio就是鸿蒙应用开发的开发工具,是基于IntelliJ IDEA Community开源版本打造的,所以如果大家有 idea的基础,在学习DevEco Studio是非常容易上手的。
DevEco Studio中提供SDK Manager统一管理SDK和这个包依赖的工具链。通过SDK Manager能自动下载各个语 言对应的SDK包。
4)下载网址:HarmonyOS
5)版本说明
DevEco Studio 1.0 用于华为EMUI系统的应用App。
DevEco Studio 2.0 用于华为鸿蒙系统(HarmonyOS)的应用App。
DevEco Studio 3.0 用于华为鸿蒙系统(openHarmonyOS)的应用App。
4)使用Java开发
JDK:是Java语言所需要的开发环境。鸿蒙开发工具DevEco Studio会帮我们自动下载。
!!!鸿蒙开发工具目前只支持JDK8。
5)常用插件
- Toolchains:SDK工具链,HarmonyOS应用开发必备工具集,包括编译、打包、签名、数据库管理等工具的集 合,首次下载SDK时默认下载。
- Previewer:Lite Wearable预览器,在开发过程中可以动态预览Lite Wearable应用的界面呈现效果,默认不自 动下载,需手动勾选下载。
6)安装开发工具
傻瓜式安装–略
4.DevEco Studio项目结构(Java)
- MyApplication:整个项目的项目名
- External Libraries:项目中要导入的第三方jar包
- .gradle:是项目管理工具gradle的信息(一般是不会动)
- .idea:是开发工具的信息(一般不会动)
- entry:是应用主模块,在一个项目中,有且只有一个,所有的代码都在这个里面。(重要)
- gradle:项目管理工具gradle的配置信息和所需要用到的jar包,在这个里面有一个porperties的配置文件, 可以看到gradle的版本号,一般我们会用默认的,也不会动
- build.gradle:第三方jar包的配置文件,以后在开发中要用到第三方jar包需要在这个里面配置。
- build.gradle:第三方jar包的配置文件,以后在开发中要用到第三方jar包需要在这个里面配置。(一个是linux系统的,一个是windows系统的。)
- local.properties:本地SDK配置信息,一般也不动。
- build:一般不会动,这个文件夹里面有一个R文件,记录每一个资源文件对应的id。里面的内容是自动生成的。(R文件是一个压缩包,里面装的ResourceTable这个类的字节码文件。)
- libs:第三方jar包存放的位置
- src:主要代码(src里面还有三个目录,main,ohosTest,test)
- src里面还有三个目录
- src里面还有三个目录
- test:是Junit的测试工具。

二、第一个HarmonyOS项目(官方教程解析)
1.第一个Harmony入门应用HelloWorld
对于Helloworld,相信大家都不会陌生,我们学习大部分语言的时候,所做的第一个项目就是HelloWorld。
当我们新建第一个项目的时候,我们的Studio就会自己生成一个HelloWorld项目,这也是我们正式入门HarmonyOS APP移动开发的第一个项目。
对于这个项目,我们需要了解的知识点只有四个
1、如何运行项目
2、页面中的包含关系
3、配置文件:confifig.json
4、了解程序的启动流程
2.运行项目
- 要运行项目就需要我们去登录我们的华为开发者账号,点击Studio右上角的登录按钮登录即可
- 要运行项目,我们就需要使用到模拟器来运行项目,华为官方为我们提供了两种模拟器,一种是本地模拟器,一种是在线模拟器,我们将使用在线模拟器来讲解。

点击工具(tools)下的Device Manger,进入如图所示页面

在这里我们选择Remote Emulator,选择需要的手机型号,点击绿色的三角形就行启动模拟器
这里需要注意,我们这里的API与我们所安装的HarmonyOS SDK 是息息相关的,如果你没有安装对应版本的SDK那么程序就会运行错误
3. 页面中的包含关系
MainAbility是项目启动的第一个界面,在界面里面不是直接显示内容的。在界面里面展示的是子界面,我们也称之为切片,或者片 段,在子界面里面才是显示内容。

如图所示,MainAbility是我们第一个所展示的页面,MainAbilitySlice就是一个子页面,而我们的内容只能在子页面里展现出来。
- MainAbility (界面)包含一个或多个MainAbilitySlice(子界面)
- MainAbilitySlice(子界面)包含要显示的内容
4.配置文件:config.json
config.json 是整个APP项目的配置文件。所有项目信息都会配置在这里,如,版本号,厂商信息等

5.程序运行过程

6.实现页面跳转
通过代码实现以下操作

设计步骤:
- 设置页面文本内容,按钮组件
- 设置第二个页面内容
- 设置时间进行跳转
下面先来对Layout下的xml文件进行编辑
补充知识:
在MainAbilitySlice.java里

如图,ResourceTable.Layout_ability_main表示的是在resource下有一个叫ability_main.xml的文件,这个文件是我们的主页面,HarmonyOS的app开发是通过xml来进行页面设计的。
下面我们正式开始进行编程解决这个问题
ability_main.xml
<?xml version="1.0" encoding="utf-8"?><Text
ohos:id=“ + i d : t e x t _ h e l l o w o r l d " o h o s : h e i g h t = " m a t c h _ c o n t e n t " o h o s : w i d t h = " m a t c h _ c o n t e n t " o h o s : b a c k g r o u n d _ e l e m e n t = " +id:text\_helloworld" ohos:height="match\_content" ohos:width="match\_content" ohos:background\_element=" +id:text_helloworld"ohos:height="match_content"ohos:width="match_content"ohos:background_element="graphic:background_ability_main”
ohos:layout_alignment=“horizontal_center”
ohos:text=“itcyy第一个页面”
ohos:text_size=“40vp”
/>
<Button
ohos:id=“$+id:cyy_one_button”
ohos:height=“match_content”
ohos:width=“match_content”
ohos:text_size=“40fp”
ohos:background_element=“red”
ohos:text=“点我”/>
下面需要建立一个新的切片

选择slice包,右键

我们选择新建>Ability >Empty Page Ability(Java)

在这里我们就可以新建切片了,不要选择图中的Launcher ability,否则它就会变成我们的主页面了
我们在HarmonyOS开发里,有两种布局方式,一种是xml,一种是直接用java进行编写,在这里,我们第二个页面通过Java编写
cyy__two_AbilitySlice.java
package com.itcyy.myapplication.slice;
import com.itcyy.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.Text;
import ohos.agp.utils.Color;
public class cyy_two_AbilitySlice extends AbilitySlice {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
//super.setUIContent(ResourceTable.Layout_ability_cyy_two_);
//1.创建一个布局对象
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
setUIContent(ResourceTable.Layout_ability_cyy_two_);
//1.创建一个布局对象
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
[外链图片转存中…(img-ul3glVQc-1713290088120)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
更多推荐

所有评论(0)