HarmonyOS APP 开发入门_鸿蒙仓颉编程语言入门,面试怎么做自我介绍

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img

img
img
htt

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注鸿蒙)
img

正文

​ 3、配置文件:confifig.json

​ 4、了解程序的启动流程

2.运行项目
  1. 要运行项目就需要我们去登录我们的华为开发者账号,点击Studio右上角的登录按钮登录即可
  2. 要运行项目,我们就需要使用到模拟器来运行项目,华为官方为我们提供了两种模拟器,一种是本地模拟器,一种是在线模拟器,我们将使用在线模拟器来讲解。

在这里插入图片描述

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

在这里插入图片描述

在这里我们选择Remote Emulator,选择需要的手机型号,点击绿色的三角形就行启动模拟器

这里需要注意,我们这里的API与我们所安装的HarmonyOS SDK 是息息相关的,如果你没有安装对应版本的SDK那么程序就会运行错误

3. 页面中的包含关系

​ MainAbility是项目启动的第一个界面,在界面里面不是直接显示内容的。在界面里面展示的是子界面,我们也称之为切片,或者片 段,在子界面里面才是显示内容。

在这里插入图片描述

如图所示,MainAbility是我们第一个所展示的页面,MainAbilitySlice就是一个子页面,而我们的内容只能在子页面里展现出来。

  • MainAbility (界面)包含一个或多个MainAbilitySlice(子界面)
  • MainAbilitySlice(子界面)包含要显示的内容
4.配置文件:config.json

​ config.json 是整个APP项目的配置文件。所有项目信息都会配置在这里,如,版本号,厂商信息等

在这里插入图片描述

5.程序运行过程

在这里插入图片描述

6.实现页面跳转

通过代码实现以下操作

在这里插入图片描述

设计步骤:

  1. 设置页面文本内容,按钮组件
  2. 设置第二个页面内容
  3. 设置时间进行跳转

下面先来对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.创建一个布局对象
DirectionalLayout dl = new DirectionalLayout(this);

//2.创建一个文本对象
Text t = new Text(this);

//设置内容
t.setText(“cyy第二个页面”);

//设置大小
t.setTextSize(55);

//设置文本颜色

t.setTextColor(Color.BLUE);

//将文本对象加入布局中

dl.addComponent(t);

//4.把创建的布局加入到子页面中

super.setUIContent(dl);
}

@Override
public void onActive() {
super.onActive();
}

@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}

MainAbilitySlice.java

package com.itcyy.myapplication.slice;

import com.itcyy.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.aafwk.content.Operation;
import ohos.agp.components.Button;
import ohos.agp.components.Component;

public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener {
Button cyy_button;
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);

//1.通过id寻找创建的按钮

//Button cyy_button = (Button)findComponentById(ResourceTable.Id_cyy_one_button);
cyy_button = (Button)findComponentById(ResourceTable.Id_cyy_one_button);

//2.给按钮添加一个点击事件
//如果按钮没有添加点击事件,那么点击按钮将不会有任何反应
//如果我们给按钮添加了点击事件的话,那么我们点击按钮之后就会执行相应的代码

//当我们点击了cyy_button这个按钮之后,那么就会实现本类的onClick方法
cyy_button.setClickedListener(this);//注意这里是需要继承Component.ClickedListener接口的

}

@Override
public void onActive() {
super.onActive();
}

@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}

@Override
public void onClick(Component component) {

//点击按钮需要执行的代码
//跳转到第二个页面
if (component == cyy_button){
//只有点击了cyy_button 这个按钮后才进行跳转

//跳转到哪个页面(意图)

//创建意图对象

Intent i = new Intent();

//包含了要跳转页面的详细信息

Operation operation = new Intent.OperationBuilder()
.withDeviceId(“”)//要跳转到哪个设备上,如果传递一个空字符串,则表示跳转到本机
.withBundleName(“com.itcyy.myapplication”)//要跳转到哪个应用上,小括号里可写包名
.withAbilityName(“com.itcyy.myapplication.cyy_two_Ability”)//要跳转到哪个页面,小括号填写包名
.build();//将上面三个信息打包
//把打包之后的operation对象传到意图里

i.setOperation(operation);

//跳转页面

startAbility(i);

}

}
}

看下效果

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

n(operation);

//跳转页面

startAbility(i);

}

}
}

看下效果

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
[外链图片转存中…(img-gcQ9JRUY-1713131187081)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 41
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值