【HarmonyOS 4】从零开始,快速上手

在这里插入图片描述

1. 搭建开发环境,运行项目,启动本地模拟器

1.1 下载并安装 DevEco Studio
1.2 创建项目并初始化

  1. 项目 build init 时报错:request to http://registry.cnpmjs.org/pnpm failed, reason: getaddrinfo ENOTFOUND registry.cnpmjs.org
  2. 运行 npm install -g cnpm --registry=https://registry.npm.taobao.org,仍报错:request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired. 显示证书过期。使用的是老版本的淘宝镜像,淘宝不在维护.
  3. 设置淘宝最新的镜像源. 运行 npm install -g cnpm --registry=https://registry.npmmirror.com. 成功

1.3 创建模拟器

  1. 创建模拟器前需要先申请参加模拟器Beta活动.
  2. 若提示该账号没有权限,请先点击“Submit the application form”完成权限申请.

1.4 修改模拟器全屏显示本地项目,不显示顶部状态栏

  1. windows:设置 —> 显示和亮度 —> 更多显示设置 —> 屏幕顶部显示 —> 应用自定义 —> 往下拉找到我们的项目 —> 弹框选择显示顶部区域

1.5 了解项目目录:工程级目录 / 模块级目录

  1. 通过修改下面俩个文件路径设置模拟器打开的主页面
    1.1 src/main/ets/entryability/entryability.ts ⇒ windowStage.loadContent(‘test_pages/test2’)
    1.2 resources/base/profile/main_pages.json ⇒ { “src”: [‘test_pages/test2’] },配置router路径

1.6 DevEco Studio 配置 TypeScript

  1. 安装 Nodejs,配置 Nodejs 的环境变量
  2. 安装 typescript,npm install -g typescript,tsc -v 查看版本号
  3. 编译 .ts 文件的命令:tsc 文件名
    编译 .js 文件的命令:node 文件名

2. TypeScript 快速入门

TypeScript 快速入门

3. ArkTs/ArkUI

  1. 继承 TS 的所有特性,是 TS 的超集。
  2. ArkUI 是一套构建分布式应用界面的声明式UI开发框架,只能使用表达式。组件中不需要renturn。

3.1 声明式UI

  1. 声明式描述:开发者只需描述界面在不同状态下要呈现的最终效果,而无需关注界面变化的具体过程
  2. 开发者只需修改状态变量的值,界面就会自动更新。

3.2 组件化

4. 配置组件的事件方法

事件方法以 “.” 链式调用的方式配置系统组件支持的事件,建议每个事件方法单独写一行。

// 1. 使用箭头函数配置组件的事件方法
Button('Click me')
	.onClick(() => {})

// 2. 使用匿名函数表达式配置组件的事件方法,要求使用bind,以确保函数题中的this指向当前组件
Button('add counter')
	.onClick(function(){}.bind(this))

// 3. 使用组件的成员函数配置组件的事件方法,⚠️组件的成员函数只能在事件方法上面定义
myClickHandler(): void {}
Button('add counter')
	.onClick(this.myClickHandler.bind(this))

5. 指定应用初始页面

  1. 修改entry/src/main/ets/entryability/EntryAbility.ts文件中的如下内容,例如指定应用初始页面为欢迎页。
onWindowStageCreate(windowStage: window.WindowStage): void {
  // Main window is created, set main page for this ability
  hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
  // 修改位置
  windowStage.loadContent('pages/SplashPage', (err) => {
    if (err.code) {
      hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
      return;
    }
    hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.');
  });
}

6. 像素单位

px、vp、fp

7. 变量常用类型定义

ArkTs 常用类型定义

8. 装饰器

常用装饰器

9. 容器组件

  1. 容器组件均支持子组件配置,可以实现相对复杂的多级嵌套。
  2. 常用容器组件布局

10. 基础组件

ArkTs 常用基础组件

11. 自定义组件

ArkTs 自定义组件

12. 渲染控制

ArkTs 渲染控制能力

13. UI结构复用

@Builder 自定义构建函数

14. @BuilderParam 装饰器

@BuilderParam 装饰器

15. 组件样式复用

组件样式复用

16. 全局UI方法

全局UI方法

17. 组件级变量的状态管理

  1. 状态变量:被状态装饰器(@State) 装饰的变量叫状态变量,状态变量值的改变会引起UI的渲染更新。@State count: number = 0
  2. 常规变量:没有被状态装饰器修饰的变量,通常应用于辅助计算。它的改变永远不会引起UI的渲染更新。private/public increaseBy: number = 1
  3. 数据源/同步源:状态变量的原始来源,可以同步给不同的状态数据。通常意义为父组件传给子组件的数据。
  4. 命名参数机制:父组件通过指定参数传递给子组件的状态变量,为父子传递同步参数的主要手段
  5. 从父组件初始化:父组件使用命名参数机制,将指定参数传递给子组件。子组件初始化的默认值在有父组件传值的情况下,会被覆盖。
  6. 初始化子组件:父组件中状态变量可以传递给子组件,初始化子组件对应的状态变量
  7. 本地初始化:在变量声明的时候赋值,作为变量的默认值。

组件级变量的状态管理

18. 其他状态管理器

@Watch装饰器

19. 组件生命周期

组件生命周期

20. 页面路由

@ohos.router 页面路由

21. 动画

动画

22. 交互事件(手势事件)

交互事件(手势事件)

23. 访问控制

安全 - 访问控制

24. 网络请求 - axios

网络请求 - axios

25. 应用级变量的状态管理

应用级变量的状态管理

26. 鸿蒙应用模型

Stage 应用模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值