当前位置: 首页 > 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"); // 指定节点名称为 &…...

魔百盒M301H-ZN代工_HI3798MV300H芯片_8822CS无线模块-深度定制与刷机实战指南

1. 魔百盒M301H-ZN硬件拆解与芯片解析 第一次拿到魔百盒M301H-ZN时&#xff0c;我差点被它朴实无华的外表骗了。拆开底部四颗螺丝后&#xff0c;内部布局清晰地展现在眼前&#xff1a;HI3798MV300H主控芯片位于主板中央&#xff0c;右上角是8822CS无线模块&#xff0c;存储芯片…...

NAS极速搭建PostgreSQL:打造个人专属数据仓库

1. 为什么选择NASPostgreSQL组合&#xff1f; 最近几年&#xff0c;越来越多的技术爱好者开始在家用NAS上部署数据库服务。我自己从2018年开始尝试这种方案&#xff0c;先后测试过MySQL、MongoDB和PostgreSQL&#xff0c;最终发现PostgreSQL在NAS上的表现最为出色。相比云数据库…...

如何快速清理Windows驱动存储:Driver Store Explorer完整使用指南

如何快速清理Windows驱动存储&#xff1a;Driver Store Explorer完整使用指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer Driver Store Explorer&#xff08;简称RAPR&#xff09;是…...

9.9元ESP32-C3移植RT-Thread Nano:低成本RTOS开发与调试实战

1. 项目概述&#xff1a;当开源RTOS遇上性价比神板最近在捣鼓嵌入式开发&#xff0c;发现了一块宝藏开发板——ESP32-C3的某个简约款&#xff0c;价格直接干到了9.9元。这个价格&#xff0c;别说喝杯奶茶了&#xff0c;连个像样的模块都买不到&#xff0c;但它不仅能跑起来&…...

Python自动化签到脚本dailycheckin:Docker部署与模块化设计详解

1. 项目概述与核心价值最近在折腾一些自动化工具&#xff0c;发现一个挺有意思的项目&#xff0c;叫Sitoi/dailycheckin。简单来说&#xff0c;这是一个用 Python 写的签到脚本集合&#xff0c;能帮你自动完成各种网站和应用的日常签到任务。你可能觉得签到不就是点一下吗&…...

3步构建企业级数据平台:从零到百万级数据管理的NocoDB实战指南

3步构建企业级数据平台&#xff1a;从零到百万级数据管理的NocoDB实战指南 【免费下载链接】nocodb &#x1f525; &#x1f525; &#x1f525; A Free & Self-hostable Airtable Alternative 项目地址: https://gitcode.com/GitHub_Trending/no/nocodb 在数字化转…...

OpenClaw爬虫框架Docker化实践:从环境封装到生产部署

1. 项目概述&#xff1a;当“OpenClaw”遇见Docker最近在折腾一个挺有意思的项目&#xff0c;叫“OpenClaw”。这名字听起来有点酷&#xff0c;对吧&#xff1f;它本质上是一个网络爬虫框架&#xff0c;但设计理念和常见的Scrapy、Puppeteer这些不太一样。OpenClaw更侧重于“规…...

让你的电脑静下来:FanControl风扇智能控制完全指南

让你的电脑静下来&#xff1a;FanControl风扇智能控制完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fa…...

安科瑞 EMS3.0智慧能源管理解决方案-光伏智维先知引擎,AI驱动预测性维护新范式

一、需求背景新能源光伏场站迈入规模化、长周期运营阶段&#xff0c;组件老化隐匿、故障识别滞后、运维被动响应、资产价值隐性流失已成为行业共性痛点。传统事后维修、定期检修模式难以应对复杂故障与隐性衰减&#xff0c;造成停机损失高、运维成本高、误判漏判率高。依托GB/T…...

【C/C++】libusb实战:从零构建ADB USB通信框架

1. 为什么需要自己实现ADB USB通信&#xff1f; 很多开发者第一次接触ADB时&#xff0c;都是直接使用官方提供的adb命令行工具。这个工具确实方便&#xff0c;但当你需要深度定制Android设备调试流程&#xff0c;或者开发自动化测试框架时&#xff0c;官方工具就显得不够灵活了…...