当前位置: 首页 > news >正文

HarmonyOS 开发

环境 

下载IDE

代码 
import { hilog } from '@kit.PerformanceAnalysisKit';
import testNapi from 'libentry.so';
import { router } from '@kit.ArkUI';
import { common, Want } from '@kit.AbilityKit';@Entry
@Component
struct Index {@State message: string = 'Hello HarmonyOS!';private context = getContext(this) as common.UIAbilityContext;// Ability间跳转async explicitStartAbility() {const want : Want = {deviceId: "",bundleName: "com.example.board",moduleName: "entry",abilityName: "secondAbitily"};let context = getContext(this) as common.UIAbilityContext;await context.startAbility(want);}build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold).fontColor($r('app.color.text_color'))//访问字体颜色.backgroundImage($r('app.media.background'), ImageRepeat.XY) //设置背景图片,ImageRepeat.XY则是图片太小时候,选择某个坐标位置的颜色填充.onClick(() => {hilog.info(0x0000, 'testTag', 'Test NAPI 2 + 3 = %{public}d', testNapi.add(2, 3));}).margin({ top: 20 })Button('Click me').onClick(() => {this.message = 'Hello, World!';}).margin({ top: 10 })Button('Next Page').onClick(() => {router.pushUrl({url: "pages/flex",params: {name: "args"}},router.RouterMode.Single) // 同ability// this.explicitStartAbility();  // 不同ability})// 使用系统资源Image($r('sys.media.ohos_app_icon')).border({color: $r('sys.color.ohos_id_color_palette_aux11'),           // 设置边框颜色为辅助色11radius: $r('sys.float.ohos_id_corner_radius_button'),         // 设置边框圆角半径为按钮圆角半径width: 2                                                      // 设置边框宽度为2}).margin({top: $r('sys.float.ohos_id_elements_margin_horizontal_m'),    // 设置上边距为水平中等间距bottom: $r('sys.float.ohos_id_elements_margin_horizontal_l')  // 设置下边距为水平大间距}).height(200)                                                    // 设置高度为200.width(300)}.width('100%')}.height('100%').justifyContent(FlexAlign.Center).alignItems(VerticalAlign.Center).padding(10)}
}

import { hilog } from '@kit.PerformanceAnalysisKit';
import testNapi from 'libentry.so';
import { router } from '@kit.ArkUI';@Entry
@Component
struct Example {@State name : string = (router.getParams() as Record<string, string>)['name'];build() {Column() {Button('Prev Page').onClick(() => {router.back() // 同ability跳转// router.pushUrl({url: "pages/Index"})})/**Flex({ wrap: FlexWrap.Wrap })是一个Flex布局的设置,*其中wrap: FlexWrap.Wrap表示设置Flex容器的子元素在主轴方向上超出容器时是否换行。*在这里,FlexWrap.Wrap表示子元素会自动换行,以适应容器的尺寸。* 这样设置可以确保在容器尺寸不足以容纳所有子元素时,子元素会自动换行,而不会超出容器范围。*/Flex({ wrap: FlexWrap.Wrap }) {// 默认不写单位就是是vpColumn() {Text("width(220)").width(220)  // 设置宽度为220vp.height(40)  // 设置高度为40vp.backgroundColor("#00BFC9")  // 设置背景颜色为#00BFC9.fontSize("12vp")  // 设置字体大小为12vp}.margin(5)  // 设置外边距为5vp// 宽度指定成pxColumn() {Text("width('220px')").width('220px')  // 设置宽度为220px.height(40)  // 设置高度为40vp.backgroundColor("#007900")  // 设置背景颜色为#007900.textAlign(TextAlign.Center)  // 设置文本对齐方式为居中.fontColor(Color.White)  // 设置字体颜色为白色}.margin(5)  // 设置外边距为5vp// 宽度指定成vpColumn() {Text("width('220vp')").width('220vp')  // 设置宽度为220vp.height(40)  // 设置高度为40vp.backgroundColor("#FF9800")  // 设置背景颜色为#FF9800.textAlign(TextAlign.Center)  // 设置文本对齐方式为居中.fontColor(Color.White)  // 设置字体颜色为白色.fontSize('12vp')  // 设置字体大小为12vp}.margin(5)  // 设置外边距为5vp// 宽度指定成vplpxColumn() {Text("width('220lpx') designWidth:720").width("220lpx")  // 设置宽度为220lpx.height(40)  // 设置高度为40vp.backgroundColor("#634794")  // 设置背景颜色为#634794.textAlign(TextAlign.Center)  // 设置文本对齐方式为居中.fontColor(Color.White)  // 设置字体颜色为白色.fontSize('12vp')  // 设置字体大小为12vp}.margin(5)  // 设置外边距为5vp// 将vp单位的数值转换为以px为单位的数值Column() {Text("width(vp2px(220) + 'px')").width(vp2px(220) + 'px')  // 将220vp转换为px单位的数值,然后设置宽度.height(40)  // 设置高度为40vp.backgroundColor('#3F56EA')  // 设置背景颜色为#3F56EA.textAlign(TextAlign.Center)  // 设置文本对齐方式为居中.fontColor(Color.White)  // 设置字体颜色为白色.fontSize('12vp')  // 设置字体大小为12vp}.margin(5)  // 设置外边距为5vp// fontSize('12fp')设置成fpColumn() {Text("fontSize('12fp')").width(220)  // 设置宽度为220vp.height(40)  // 设置高度为40vp.backgroundColor('#A14A5C')  // 设置背景颜色为#A14A5C.textAlign(TextAlign.Center)  // 设置文本对齐方式为居中.fontColor(Color.White)  // 设置字体颜色为白色.fontSize('12fp')  // 设置字体大小为12fp}.margin(5)  // 设置外边距为5vp// 将px单位的数值转换为以vp为单位的数值。Column() {Text("width(px2vp(220))").width(px2vp(220))  // 将220px转换为vp单位的数值,然后设置宽度.height(40)  // 设置高度为40vp.backgroundColor('#E40078')  // 设置背景颜色为#E40078.textAlign(TextAlign.Center)  // 设置文本对齐方式为居中.fontColor(Color.White)  // 设置字体颜色为白色.fontSize('12fp')  // 设置字体大小为12fp}.margin(5)  // 设置外边距为5vp}.width('100%')  // 设置宽度为100%}}
}
效果

参考

快速入门 - 华为开发者联盟


创作不易,小小的支持一下吧!

相关文章:

HarmonyOS 开发

环境 下载IDE 代码 import { hilog } from kit.PerformanceAnalysisKit; import testNapi from libentry.so; import { router } from kit.ArkUI; import { common, Want } from kit.AbilityKit;Entry Component struct Index {State message: string Hello HarmonyOS!;p…...

拒绝拖延!Kimi助你一天内速成论文初稿!

撰写学术论文是一项需要周密计划和精确执行的任务。它要求作者对文章的每个部分进行深入思考&#xff0c;以确保论文结构的合理性和论述的清晰度。利用Kimi的功能&#xff0c;我们可以更系统地进行写作&#xff0c;从构思到最终成稿&#xff0c;逐步构建出一篇高质量的学术论文…...

Python画笔案例-005 绘制迷宫

1、绘制迷宫 通过 python 的turtle 库绘制一个迷宫的图案&#xff0c;如下图&#xff1a; 2、实现代码 从图上可以看出&#xff0c;内测最短的竖线开始&#xff0c;每次右转 90 度后&#xff0c;线段都增加 8 个单位&#xff0c;所以我们是用 for 循环&#xff0c;循环 50 次…...

【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用性能优化二(代码层面)

学完时间&#xff1a;2024年8月22日 学完排名&#xff1a;第1801名 一、长列表优化概述 列表是应用开发中最常见的一类开发场景&#xff0c;它可以将杂乱的信息整理成有规律、易于理解和操作的形式&#xff0c;便于用户查找和获取所需要的信息。应用程序中常见的列表场景有新…...

【Docker】如何将A机器内的镜像,导入到B机器?

由于网络或者仓库的原因&#xff0c;经常遇到pull拉取镜像失败的情况&#xff01;&#xff01; 那么&#xff0c;如何将A机器内的镜像&#xff0c;通过命令&#xff0c;导入到B机器&#xff1f; 两条重要的命令&#xff1a; 1&#xff0c;在已经成功拉取pull的机器上执行命令…...

动手实现基于Reactor模型的高并发Web服务器(一):epoll+多线程版本

系统流程概览 main函数 对于一个服务器程序来说&#xff0c;因为要为外部的客户端程序提供网络服务&#xff0c;也就是进行数据的读写&#xff0c;这就必然需要一个 socket 文件描述符&#xff0c;只有拥有了文件描述符 C/S 两端才能通过 socket 套接字进行网络通信&#xff0…...

爬虫案例4——爬取房天下数据

简介&#xff1a;个人学习分享&#xff0c;如有错误&#xff0c;欢迎批评指正 任务&#xff1a;从房天下网中爬取小区名称、地址、价格和联系电话 目标网页地址&#xff1a;https://newhouse.fang.com/house/s/ 一、思路和过程 目标网页具体内容如下&#xff1a; ​​​​ …...

网络硬盘录像机NVR程序源码NVR全套运用方案

在当今社会&#xff0c;随着科技的飞速发展和人们对安全需求的日益增长&#xff0c;安防监控系统已成为保障公共安全、维护社会稳定的重要手段。其中&#xff0c;网络视频录像机&#xff08;NVR&#xff09;作为安防监控系统的核心设备&#xff0c;其智能化升级运用方案对于提高…...

03:电容的充放电特性及应用举例

1.电容的基本特性&#xff1a;电容两端的电压不能突变 2.影响电容两端电压的参数&#xff1a;整个回路中电阻&#xff0c;电容大小 3.如何计算电容的电压变化时间&#xff1f; τRC R1k C1uF 则得到τ1ms的时间 应用&#xff1a;芯片使能延时...

【专题】2023-2024中国游戏企业研发竞争力报告合集PDF分享(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p37447 在当今的数字时代&#xff0c;游戏产业已然成为经济与文化领域中一股不可忽视的重要力量。2023 年&#xff0c;中国自研游戏市场更是呈现出一片繁荣且复杂的景象&#xff0c;实际销售收入达到了令人瞩目的 2563.8 亿元&#x…...

会话跟踪方案:Cookie Session Token

什么是会话技术&#xff1f; Cookie 以登录为例&#xff0c;用户在浏览器中将账号密码输入并勾选自动登录&#xff0c;浏览器发送请求&#xff0c;请求头中设置Cookie&#xff1a;userName:张三 ,password:1234aa &#xff0c;若登录成功&#xff0c;服务器将这个cookie保存…...

jemeter压力测试入门

1. 安装jemeter的压缩包并且解压 点击运行 2. 添加线程组 3. 线程组的参数设置 4. 添加http请求 5. 填写请求信息 添加监听器——结果树&#xff08;结果&#xff09;&#xff0c;聚合报告&#xff08;吞吐量报告&#xff09; 6. 通过cvs数据文件设置&#xff0c;配置元件&…...

SpringBoot3 简单集成 Spring AI 并使用

文章目录 准备JDK17api key 创建项目编写配置文件创建controller启动并测试角色预设流式响应\异步响应ChatModel&#xff08;聊天模型&#xff09;ImageModel&#xff08;文生图&#xff09;文生语音语言翻译多模态Function Calling &#xff08;函数调用第三方API&#xff09;…...

【C/C++】程序设计基础知识(数据类型与表达式、控制语句、数组与结构)

【C/C】程序设计基础知识&#xff08;数据类型与表达式、控制语句、数组与结构&#xff09; 一、数据类型与表达式1.1C语言符号1.2C语言运算符1.3数据类型1.4常量与变量1.5基本运算1.6优先级和结合性1.7输入与输出 二、控制语句2.1顺序结构2.2选择结构2.3循环结构2.4break,cont…...

python库——sklearn的关键组件和参数设置

文章目录 模型构建线性回归逻辑回归决策树分类器随机森林支持向量机K-近邻 模型评估交叉验证性能指标 特征工程主成分分析标准化和归一化 scikit-learn&#xff0c;简称sklearn&#xff0c;是Python中一个广泛使用的机器学习库&#xff0c;它建立在NumPy、SciPy和Matplotlib这些…...

CAS-ViT实战:使用CAS-ViT实现图像分类任务(一)

摘要 在视觉转换器&#xff08;Vision Transformers, ViTs&#xff09;领域&#xff0c;随着技术的不断发展&#xff0c;研究者们不断探索如何在保持高效性能的同时&#xff0c;降低模型的计算复杂度&#xff0c;以满足资源受限场景&#xff08;如移动设备&#xff09;的需求。…...

处理数组下标的代码

以下是某个Ada编译器生成的一段汇编代码&#xff1a; mov ecx, eaxmov ebx, eaxsar ebx, 1Fhmov edx, ebxsar edx, 1Fhnot edxmov eax, edxsar eax, 1Fhand ecx, eax以上代码相当于以下C代码&#xff1a; ecx ((~(eax >> 62) >&…...

数学建模算法总结

数学建模常见算法总结 评价决策类模型 层次分析法 层次分析法根据问题的性质和要达到的总目的&#xff0c;将问题分解为不同的组成因素&#xff0c;并按照因素间的相互关联影响以及隶属关系将因素按不同层次聚集组合&#xff0c;形成一个多层次的分析结构模型&#xff0c;从…...

代码随想录算法训练营第五十五天 | 并查集理论基础、107. 寻找存在的路径

一、并查集理论基础 文章链接&#xff1a;并查集理论基础 | 代码随想录 (programmercarl.com) 二、107. 寻找存在的路径 题目连接&#xff1a;107. 寻找存在的路径 (kamacoder.com) 文章讲解&#xff1a;代码随想录 (programmercarl.com)——107. 寻找存在的路径...

ROS_package 、CMakeLists.txt、package.xml、ROS_node之间的关系

一、整体框架结构 二、关系描述 1、ROS.cpp 里面初始化了一个ROS节点&#xff0c;注意我的源文件里面只初始化了一个节点 // ROS.cpp #include "ros/ros.h"int main(int argc, char **argv) {ros::init(argc, argv, "node_name"); // 指定节点名称为 &…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...