第一篇【传奇开心果短博文系列】鸿蒙开发技术点案例示例:从helloworld开始理解鸿蒙开发ArkTS编程思路

传奇开心果短博文系列

  • 系列短博文目录
    • 鸿蒙开发技术点案例示例系列
  • 短博文目录
    • 一、前言
    • 二、初步解读鸿蒙的helloworld
    • 三、进一步深入解读理解

系列短博文目录

鸿蒙开发技术点案例示例系列

短博文目录

一、前言

鸿蒙开发套件从掰碎了揉烂了详细注释解读helloworld开始,理解ArkTS编程思路。

二、初步解读鸿蒙的helloworld

华为和鸿蒙

//装饰器,指页面入口。
@Entry
//装饰器,指下面开始自定义组件
@Component
//自定义组件
struct Index {
//装饰器,指状态变量,字符串类型,赋值:"Hello World'
@State message: string = "Hello World";//构造函数,UI声明
build() {
//横向布局组件
Row() {
//嵌套纵向布局组件
Column() {
//文本组件,参数
Text(this.message)
//设置字号
.fontSize(50)
//设置字体粗细
.fontWeight(FontWeight.Bold)
}
//设置页面宽度占比百分比
.width('100%')
}
//设置页面高度占比百分比
.height('100%')
}
}

这个官方示例展示了如何使用ArkTS来创建自定义组件。
这个示例中,我们创建了一个名为Index的自定义组件。
这个组件包含一个文本组件,它显示message变量的值。
我们还设置了文本组件的字号和字体粗细。
最后,我们设置了组件的宽度和高度。
你可以将这个组件添加到你的应用程序中,并根据你的需要来修改它。

三、进一步深入解读理解

ArkTS和ArkUI

//装饰器,指页面入口。
@Entry

这个装饰器表示这个类是一个页面入口类。

//装饰器,指下面开始自定义组件
@Conponent

这个装饰器表示这个类是一个自定义组件类。

//自定义组件
struct Index{

这个类是一个自定义组件类,它继承自Component类。

//装饰器,指状态变量,字符串类型,赋值:"Hello World'
@State message:string ="Hello World'

这个装饰器表示message变量是一个状态变量,它的类型是字符串,它的初始值是"Hello World"。

//构造函数,UI声明
build(){

这个方法是组件的构造函数,它用于声明组件的UI。

//横向布局组件
Row(){

这个组件是一个横向布局组件,它可以将子组件水平排列。

//嵌套纵向布局组件
Column(){

这个组件是一个纵向布局组件,它可以将子组件垂直排列。

//文本组件,参数
Text(this.message)

这个组件是一个文本组件,它显示message变量的值。

//设置字号
.fontSize(50)

这个方法设置文本组件的字号为50。

//设置字体粗细
.fontWeight(FontWeight.Bold)

这个方法设置文本组件的字体粗细为粗体。

}

这个大括号表示纵向布局组件的结束。

//设置页面宽度占比百分比
.width('100%')

这个方法设置横向布局组件的宽度为页面宽度的100%。

}

这个大括号表示横向布局组件的结束。

//设置页面高度占比百分比
.height('100%')

这个方法设置组件的高度为页面高度的100%。

}

这个大括号表示组件的结束。
这个示例展示了如何使用ArkTS语言的ArkUI框架来创建自定义组件。
ArkTS是一个华为基于TypeScript开发的编程语言,ArkUI是UI框架,它可以帮助你快速构建出美观实用的用户界面。
你可以使用ArkTS来构建全场景各种各样的应用程序,包括鸿蒙手机应用、平板应用、车机应用、智慧屏应用、手表应用和电脑应用等。

如果你想了解更多关于ArkTS的信息,你可以访问华为鸿蒙开发官方网站的官方文档:
https://developer.huawei.com/consumer/cn/doc/
鸿蒙手机操作系统

ArkUI是一个非常强大的UI框架,它可以帮助你轻松创建出各种各样的用户界面。ArkTS是一个非常灵活的框架,它允许你创建出各种各样的用户界面。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java网络编程03】网络原理进阶

【Java网络编程03】网络原理进阶 1. UDP协议 1.1 基本介绍 我们首先再来回顾UDP协议的基本特点: 无连接的不可靠传输的面向数据报的全双工的 既然谈到数据报,我们就来看一下UDP数据报的格式: UDP数据报分为报头和载荷部分,其…

hook(post-receive)无法使用

hook(post-receive)无法使用 为什么无法使用? 只有一个问题:权限不够,你想想,blog.git是一个中转站,咱们要把上传的东西转到blog下面,肯定要有写入操作呀,这个Git仓库的…

Unity——八叉树的原理与实现

八叉树原理 八叉树(Octree)是一种用于在三维空间中进行空间分割的数据结构。它将三维空间递归地划分为八个子空间,每个子空间对应于一个八叉树节点。这种分割方式可以有效地组织和管理场景中的对象,提高检索效率,特别…

docker镜像的创建

创建镜像有三种方法,分别为基于已有镜像创建、基于本地模板创建以及基于Dockerfile创建。 1.基于现有镜像创建 (1)首先启动一个镜像,进入容器进行内容修改 先用现有镜像启动容器 docker run 再进入容器进行内容更新…

自然语言NLP学习

2-7 门控循环单元(GRU)_哔哩哔哩_bilibili GRU LSTM 双向RNN CNN 卷积神经网络 输入层 转化为向量表示 dropout ppl 标量 在物理学和数学中,标量(Scalar)是一个只有大小、没有方向的量。它只用一个数值就可以完全…

ModuleNotFoundError: No module named ‘half_json‘

问题: ModuleNotFoundError: No module named ‘half_json’ 原因: 缺少jsonfixer包 解决方法: pip install jsonfixerjson修正包地址: https://github.com/half-pie/half-json

【自动化测试】读写64位操作系统的注册表

自动化测试经常需要修改注册表 很多系统的设置(比如:IE的设置)都是存在注册表中。 桌面应用程序的设置也是存在注册表中。 所以做自动化测试的时候,经常需要去修改注册表 Windows注册表简介 注册表编辑器在 C:\Windows\regedit…

【MySQL】计算日期是当前月份的第几周

力扣题 1、题目地址 2993. 发生在周五的交易 I 2、模拟表 表:Purchases Column NameTypeuser_idintpurchase_datedateamount_spendint (user_id, purchase_date, amount_spend) 是该表的主键(具有唯一值的列)。purchase_date 的范围从 2023 年 11 月 1 日到 2…

【linux】-telnet服务安装

1. 说明 telnet 分为 :telnet 服务端 和 telnet 客户端 本文只演示安装 telnet服务端 2. 安装telnet服务端、以及守护服务xinetd 2.1 检测telnet-server的rpm包是否安装 rpm -qa telnet-server 2.2 若未安装,则安装telnet-server&#xff0…

【Java基础】JVM关闭回调函数(ShutdownHook)的应用场景

文章目录 一.ShutdownHook介绍二.ShutdownHook被调用场景三.ShutdownHook如何使用四.ShutdownHook实践 一.ShutdownHook介绍 ShutdownHook就是一个简单的 已初始化 但是 未启动 的 线程 。当虚拟机开始关闭时,它将会调用所有已注册ShutdownHook的回调函数&#xff0…

Qt 基于海康相机 的视频标绘

需求: 基于 视频 进行 标注,从而进行测量。 曾经搞在线教育时,尝试在视频上进行文字或者图形的绘制,但是发现利用Qt widget 传sdk 句柄的方式,只能使用窗口叠加的方式(Qt 基于海康相机的视频绘图_海康相…

提效IntelliJ IDEA插件

要问对后端程序员最重要的软件是哪个?IntelliJ IDEA说第二,估计没有其他软件可以称第一。在工作过程中我发现对于这么重要的软件,有些开发同学竟然把它“打扮”的甚是简陋,能实现高级功能的插件,没有!能简化…

Java算法 leetcode简单刷题记录7

Java算法 leetcode简单刷题记录7 最长奇偶子数组: https://leetcode.cn/problems/longest-even-odd-subarray-with-threshold/ 有的题看着不难,根据提示往下写,有的case就是死活过不了 这道题耗了挺久… class Solution {public int longes…

专业144总分410+华南理工大学811信号与系统考研经验华工电子信息与通信

今年专业811信号与系统144(二战,感谢信息通信Jenny老师专业课对我的巨大提高,第一年自己复习只考了90,主要栽专业课和数学)总分410含泪(二战的同学都知道苦,成功来之不易)考上华南理…

java servlet 高校田径运动会管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 jsp高校田径运动会管理系统是一套完善的java web信息管理系统 采用mvc模式 servletdaobean 模式开发,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myecl…

Kafka-消费者-KafkaConsumer分析总结

KafkaConsumer依赖SubscriptionState管理订阅的Topic集合和Partition的消费状态,通过ConsumerCoordinator与服务端的GroupCoordinator交互,完成Rebalance操作并请求最近提交的offset。 Fetcher负责从Kafka中拉取消息并进行解析,同时参与posi…

基于本地缓存制作一个分库分表的分布式ID生成器

引言: 代码在 https://gitee.com/lbmb/mb-live-app 中 【mb-live-id-generate-provider】 模块里面 如果喜欢 希望大家给给star 项目还在持续更新中。 背景介绍 项目整体架构是 基于springboot 3.0 开发 rpc 调用采用 dubbo 注册配置中心 使用 nacos 采用shardin…

vue中数据状态轮询

vue中数据状态轮询 1、数据接口和状态接口是分开的 首先在页面挂在后请求数据,然后判断数据中状态是否有需要轮询的,有的话就轮询: async getTableDataList() {this.tableLoading true;try {let params {page: this.dataPage,page_size:…

[git] windows系统安装git教程和配置

一、何为Git Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 二、git安装包 有2种版本,Git for Windows Setup和Git for Windows Portable(便携版)两个版本都可以。 三、Git for Windows Por…

jQuery Chaining —— W3school 详解 简单易懂(十)

通过 jQuery,您可以把动作/方法链接起来。 Chaining 允许我们在一条语句中允许多个 jQuery 方法(在相同的元素上)。 jQuery 方法链接 直到现在,我们都是一次写一条 jQuery 语句(一条接着另一条)。 不过…