HarmonyOS NEXT星河版零基础入门到实战


一、HarmonyOS NEXT介绍

在这里插入图片描述
放弃安卓框架之后,HarmonyOS NEXT成为真正独立于安卓、iOS的操作系统,堪称是一场史无前例的脱胎换骨。在其众多新特性中,原生智能无疑是最能带给用户直观感受和体验升级的新特性之一。HarmonyOS NEXT首次将AI与OS深度融合,构筑了全新鸿蒙原生智能框架,真正开启了全新的AI时代。
鸿蒙开发者学堂

学习内容

1、鸿蒙APP开发

  • ArkUI组件与交互
    • ArkTS核心
    • Flex布局、Grid布局
    • 属性动画、转场动画
    • 自定义弹窗
    • 京东、支付宝实战
  • 组件化开发
    • 父子通信
    • 跨层级通信
    • UI复用、插槽
    • 页面路由、页面栈
    • 掘金案例实战
  • 网络管理
    • http、JSON格式
    • promise异步编程
    • 页面、组件生命周期
    • 状态管理、git管理
    • 饿了吗案例实战

2、能力套件开发

  • 一次开发多端部署
    • 三层工程架构
    • 7种自适应布局能力
    • 3种响应式布局能力
    • 断点、媒体查询、栅格布局
    • 系统能力差异兼容
  • 系统能力集
    • 设备传感器
    • 申请应用权限
    • 手机振动提醒
    • 声音播放、声音控制
    • 后台任务
  • 开放能力集
    • hms华为服务
    • 调账号服务
    • 地图服务
    • 支付服务
    • 健康服务

3、全场景开发

  • 元服务
    • 元服务介绍
    • 元服务界面开发
    • 元服务应用逻辑
    • 卡片开发
    • 卡片通信
  • 端云一体化
    • AGC控制台
    • 云函数开发
    • 云数据库
    • 云存储开发
    • 认证服务
  • 万物互联
    • 物联网APP开发相关知识
    • IOT设备识别和信息采集
    • IOT 云平台信息传输方式
    • 蓝牙识别IOT设备和安装
    • APP侧对感知设备的数据分析

适合人群

大学生、应届生、在职人员、鸿蒙爱好者

二、鸿蒙开发环境准备

1、开发工具下载

HarmonyOS=>一探究竟=>DevEco Studio下载
地址
在这里插入图片描述

DevEco Studio

在这里插入图片描述
根据自己电脑系统选择对应的版本下载即可,下载完成解压一下,解压完成后双击进行傻瓜式安装,安装完成打开
在这里插入图片描述
由于我们是第一次打开,所以默认会进行一些环境的配置,我们选择Agree我同意。
如若打开遇到下方弹窗,就是一些环境,比如

  • node.js
    在这里插入图片描述
    第一个选项是选择电脑已经安装过的node,第二个是新安装。这个可以根据自己的实际选择,建议是新安装,新安装的和本地的node是不冲突的。
    在这里插入图片描述
    这一步是相关的一些依赖包的下载

2、使用DevEco Studio创建一个项目

在这里插入图片描述
点击creat project

在这里插入图片描述
选择模版,我们第一次选择第一个就好了

在这里插入图片描述
点击Finish创建

在这里插入图片描述

创建完成,点击previewer可进行预览

3、汉化界面

左上角File=>Setting=>Plugins插件=>Install=>输入chinese,在对应插件后面打钩=>点击Apply=>点击ok=>点击弹窗的Restart

在这里插入图片描述
可以看到已经已经汉化了
在这里插入图片描述

4、小结

  • 安装、环境配置时,建议自定义目录
  • 注意:路径中不要有 中文、特殊字符。

三、ArkTS基础语法

1、编程语言介绍

什么是ArkTS?
ArkTS是HarmonyOs生态的应用开发语言。

  • ArKTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发应用。
  • 同时,它在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范强化静态检查和分析,使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。
  • 针对JS/TS并发能力支持有限的问题,ArkTS对并发编程API和能力进行了增强,
  • ArkTS支持与TS/JS高效互操作,兼容TS/JS生态。
    在这里插入图片描述

2、基础知识

声明
ArKTS中可以通过关键字let声明变量,使用const声明一个常量,并通过类型注释指定类型

  • 变量声明
// 关键字 变量/常量名:类型注释=值
let count:number=0
  • 常量声明
// 关键字 变量/常量名:类型注释=值
const MAX_COUNT:number=629

类型

  • 基本类型::string、number、boolean等
let name:string='zhangsan'//声明字符类型
let age:number=20//声明数字类型
let isShow:boolean=true//声明布尔类型
  • 引用类型 : Object、 Array、自定义类等
// 引用类型
let students: Array<string>=['xiaoming','xiaozhang','xiaowang', 'xiaoli'];
let students:string[]=['Xiaoming','Xiaozhang','Xiaowang','Xiaoli'];

class User {...}
let user:User=new User();
  • 枚举类型 :Enum
// 枚举类型
enum Color{
  Red,
  Blues
  Green
}
let favouritecolor:Color =Color.Red;
  • 联合类型 :Union
    允许变量的值为多个类型
// 联合类型 :Union
let luckyNum:number|string=7;
luckyNum ='seven';
  • 类型别名 :Aliases
    允许给一个类型取一个别名,方便理解和复用
// 类型别名 :Aliases
type Matrix=number[][];
type NullableObject =object|null;

空安全
一般来说,有时会存在声明变量时不确定初始值。在这类情况下,通常使用联合类型包含null值

// 空安全
let name:string|null = null

空安全机制的三种方式

  1. 使用if/else进行判空
// 1.使用if/else进行判空
if(name!=null){/*do something */}
  1. 使用空值合并表达式,??左边的值为null时会返回表达式右边的值
// 2.使用空值合并表达式,??左边的值为null时会返回表达式右边的值
let name:string | null = null
const res =name ??'':
  1. 使用?可选链,如果是null,运算符会返回undefined
//  3.使用?可选链,如果是null,运算符会返回undefined
let name:string | null ='aa';
let len = name?.length;

类型安全与类型判断

  • ArkTS是类型安全的语言,编辑器会进行类型检查,实时提示错误信息
    在这里插入图片描述
  • ArkTS支持自动类型推导,没有指定类型时,ArkTS支持使用类型推断自动选择合适的类型
let meaningofLife =42;// meaningofLife 会被推测为 number类型


语句

  • 条件语句
    用于基于不同的条件来执行不同的动作,根据判断条件的执行结果(true或false)来决定执行的代码块。
// 生成0-1随机数
let isValid: Boolean = false;
if (Math.random() > 0.5) {
  isValid = true;
} else {
  isValid = false;
}

条件表达式

let isValid =Math.random()>0.5 ?true : false;

  • 循环语句
    用于重复执行相同的一组语句,提高效率、简化代码
// 循环语句 
let students: string[] = ['Xiaoming', 'Xiaozhang', 'Xiaowang', 'xiaoli'];
// for循环语句
for (let i = 0; i < students.length; i++) {
  console.log(students[i]);
}
// for...of 循环语句
for (let student of students) {
  console.log(student);
}
// while循环语句
let index = 0; 
while (index < students.length) {
  console.log(students[index]);
  index++;
}

3、函数声明和使用

  • 函数
    函数是一组一起执行多条语句的组合,形成可重用的代码块。通过function关键字声明要告诉编译器函数的名称、返回类型和参数以及执行的内容;
    在这里插入图片描述
// 函数声明和使用

// 声明
function printStudentsInfo(students: string[]): void {
  for (let student of students) {
    console.log(student);
  }
}
// 使用
printStudentsInfo(['Xiaoming','Xiaozhang ','Xiaowang ','xiaoli'])
  • 箭头函数
    箭头函数 /lambda表达式简化函数声明,这通常用于需要一个简单函数的地方
    在这里插入图片描述
    箭头函数的返回类型可以省略,省略时,返回类型通过函数体推断。
const printInfo =(name:string):void =>{ console.log(name)};

执行体只有一行的情况下可以省略花括号

const printInfo =(name:string)=>console.log(name);
printInfo('Xiaoming );

箭头函数常用于作为回调函数

let students: string[]=['xiaoming','xiaozhang','xiaowang','xiaoli'];students.forEach((student:string)=>console.log(student));
  • 闭包函数
    一个函数可以将另一个函数当做返回值,保留对内部作用域的访问。
// 闭包函数
function outerFunc(): () => string {
  let count = 0
  return (): string => {
    count++; 
    return count.tostring()
  }
}
let invoker =outerFunc()
console.log(invoker())//输出:1
console.log(invoker())//输出:2
  • 函数类型
    将一个函数声明定义为一个类型,函数参数或者返回值
// 函数类型
type returnType = () => string;//使用该类型作为返回类型

function outerFunc(): returnType {//使用该类型作为返回类型声明一个函数类型
  let count = 0
  return (): string => {
    count++;
    return count.tostring()
  }
}
let invoker = outerFunc()//输出:1
console.log(invoker())//
console.log(invoker())//输出:2

4、类声明和使用

5、接口声明和使用

6、模块导入与导出

7、总结与回顾

持续更新中

✒️总结

如果这篇【文章】有帮助到你💖,希望可以给我点个赞👍,创作不易,如果有对前端端或者对python感兴趣的朋友,请多多关注💖💖💖,咱们一起探讨和努力!!!
👨‍🔧 个人主页 : 前端初见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端初见

打赏一下,解锁更多有趣内容

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值