- 博客(140)
- 收藏
- 关注
原创 HarmonyOS - UIObserver(无感监听)
本篇文档主要介绍,在鸿蒙项目开发过程中,我们如何使用UIObserver对象提供的对UI组件行为变化的无感监听能力。基于当前鸿蒙项目, 我们是把页面所有的数据都存放在一个叫UIState对象中, 并且ViewModel持有这个UIState对象,而且ViewModel中包含了所有业务的逻辑。当我们在ViewModel中请求数据时,需要知道在什么时机去请求, 那么我们就需要再ViewModel中知道View的一些生命周期方法的变化。使用鸿蒙提供的UIObserver即可实现该效果。
2025-06-11 11:18:30
678
原创 Harmonyos-属性修改器和更新器
ArkUI框架提供一系列基于Modifier的自定义扩展能力,通过与UI分离的方式,对已有UI组件的属性、手势、内容进行扩展修改,以满足开发者在不改变UI组件底层实现的情况下,快速调整UI组件外观、行为等需求。声明式语法引入了@Styles和@Extend@Styles和@Extend均是编译期处理,不支持跨文件的导出复用。@Styles仅能支持通用属性、事件,不支持组件特有的属性。@Styles虽然支持在多态样式下使用,但不支持传参,无法对外开放一些属性。
2025-05-08 21:22:05
921
原创 数据结构与算法基础课程学习
线性表是有n(你>= 0)个相同类型的数据元素组成的有限序列,它是最基本、最常用的一种线性结构。顾名思义,线性表就像一条线,不会分叉,每个元素。线性表有唯一的开始和结束,除了第一个元素外,每个元素都有唯一的直接前驱,除了最后一个元素,每个元素都有一个唯一的直接后继树(tree)是n(n>= 0)个结点的有限集合,当n=0时,为空树;,当n>0时,为非空树。任意一个非空树满足:有且仅有一个称之为根的结点。
2025-04-21 16:59:25
1006
1
原创 C++入门-核心编程
本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。C++程序在执行时,将内存大方向划分4个区域内存四区意义:不同区域存放的数据,赋予不用的生命周期,给我们更大的灵活编程。在程序编译后,生成了exe可执行程序,未执行程序前分为两个区域代码区:全局区:结果:总结:由编译自动分配内存,存放函数的参数值,局部变量等注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放在windwos32未上运行结果:但是我发现一个问题, 在windows64位上运行结果如下, 打印
2025-04-18 10:08:25
785
原创 Harmonyos-Navigation路由跳转
Navigation是路由容器组件,一般作为首页的根容器,适用于模块内和跨模块的路由切换。Navigation子页是NavDestination包含的子组件,使用NavPathStack实现页面路由。
2025-04-16 09:22:25
713
原创 Harmonyos之加载本地web页面
我们也可以把h5文件访问到目录下的自定目录// 获取本地h5的资源路径,可以凭借h5链接需要的参数.domStorageAccess(true)//开启文档对象模型存储接口.javaScriptAccess(true)//允许执行JavaScript脚本}).fileAccess(true)//开启应用中文件系统的访问.mixedMode(MixedMode.All)//允许加载超文本传输协议(HTTP)和超文本传输安全协议(HTTPS)混合内容。
2025-03-31 11:46:57
989
原创 C++入门-基础语法
所谓数组, 就是一个集合, 里面存放了相同类型的数据元素特点1:数组中的每个数据元素都是相同的数据类型特点2: 数组是由连续的内存位置组成的// 以为数组有三种定义方式//1. 数据类型 数组名[数组长度]cout << "array数组元素如下:\n" << endl;i < 3;i++)// 数据类型 数组名[数组长度] = { 10, 20, 30 }cout << "array2数组元素如下:\n" << endl;i < 3;i++)
2025-03-11 11:11:18
1006
原创 Flutter中stream学习
Stream 主要应用于 Flutter 的异步操作,在其他编程语言中也存在;Stream 提供了一种接受事件队列的方法,可通过 listen 进行数据监听,通过 error 接收失败状态,通过 done 来接收结束状态;
2025-03-11 10:09:34
903
原创 Harmonyos之多目标构建产物实践
多目标产物在HarmonyOS系统中的应用主要体现在软件开发与分发方面,特别是针对不同用户群体、不同业务场景的需求进行定制化开发。多目标产物为开发者提供了更加灵活和高效的开发方式,使得应用能够更好地适应市场需求和变化。每一个target可以指定一个产物命名},},如果已配置签名,target产物对应的HAP包名为开发者定制的名称;如果未配置签名,target产物对应的HAP包名为开发者定制的名称+unsigned。每一个target均可以指定支持的设备类型deviceType,也可以不定义。
2025-01-22 17:34:09
1213
原创 Flutter中PlatformView在鸿蒙中的使用
集成平台视图(后称为平台视图)允许将原生视图嵌入到 Flutter 应用中,所以你可以通过 Dart 将变换、裁剪和不透明度等效果应用到原生视图。例如,这使你可以通过使用平台视图直接在 Flutter 应用内部使用鸿蒙中的原生地图。
2025-01-21 18:07:38
922
原创 Flutter鸿蒙化中的Plugin
大家知道Flutter和鸿蒙通信方式和Flutter和其他平台通信方式都是一样的,都是使用PlatformChannelAPI来通信。那么鸿蒙中这些通信的代码是写在哪里?如何编写的了?下面我们简单的学习下。
2025-01-20 15:40:47
1086
原创 Flutter项目和鸿蒙平台的通信
大家在使用Flutter开发项目的时候,Flutter提供了PlatfromChannelAPI来和个个平台进行交互。:用于传递字符串和半结构化的信息。支持数据双向传递,有返回值。:用于传递方法调用(支持数据双向传递,有返回值。通常用来调用native中某个方法:用于数据流()的通信。仅支持数据单向传递,无返回值。有监听功能,比如电量变化之后直接推送数据给flutter端也是通过上述三种方式来和鸿蒙平台进行通信的。
2025-01-20 12:02:48
829
原创 Flutter项目适配鸿蒙
目前市面上使用Flutter技术站的app不在少数,对于Flutter的项目,可能更多的是想直接兼容Harmonyos,而不是直接在重新开发一个新的鸿蒙项目。那么Flutter如何兼容鸿蒙平台了?接下来我们探讨下Flutter项目是如何兼容鸿蒙的。
2025-01-11 17:03:58
3954
1
原创 Harmonyos多线程之Worker基本使用
Worker主要作用是为应用程序提供一个多线程的运行环境,可满足应用程序在执行过程中与宿主线程分离,在后台线程中运行一个脚本进行耗时操作,极大避免类似于计算密集型或高延迟的任务阻塞宿主线程的运行。具体接口信息及使用方法详情请见。
2024-12-18 11:51:21
1278
原创 Harmonyos之TaskPool浅学
在开发过程中,多线程是我们非常常见的一种技术。当前ArkTS提供了TaskPool和Worker两种并发能力,下面 我们来探索下TaskPool的使用方式。多线程并发TaskPool任务启动迟。
2024-12-16 11:11:45
659
原创 Harmonyos之深浅模式适配
深色模式(Dark Mode)又称之为暗色模式,是与日常应用使用过程中的浅色模式(Light Mode)相对应的一种UI主题。换肤功能应该是现在APP常见的一个功能, 现在我们来了解下载Harmonyos上app是如何实现换肤功能的。
2024-12-12 10:11:18
951
原创 HarmonyOS入门学习
我们除了上述这个单独抽取到文件的组件方法之外我们还可以使用自定义函数, 我们可以通过自定义函数来达到类似组件封装的目的,而且自定义函数做内部的体验封装更合适一点。全局自定义函数全局自定义函数是写在组件外面的, 所有的组件都可以调用, 作为函数可以传参!局部自定义函数: 相比较全局自定义函数, 少了function字段, 并且只能组件内部调用, 调用时需要加this我们可以发现,在上述的代码中我们有很多可以用公用的样式,假如样式有变动,可能会导致我们修改的地方很多,代码很难维护。
2024-03-20 16:23:05
2522
原创 web前端-Gulp入门
gulp: 前端自动化打包固件工具,gulp是基于流格式的一种打包构建工具,依赖node环境进行开发, 底层封装的内容就是node里面的读写文件。什么是流?流文件: 流一种文件传输的格式一段一段的文件传输流格式: 流从头到尾的一个过程需要从 源 开始一步一步经过加工,每一个步骤都需要依赖上一步的结果,最终给出一个完成的成品。gulp的安装是一个JavaScript相关的工具就是可以直接使用npm 进行安装需要安装在你的电脑环境里面, 一次安装多次使用。
2023-11-08 16:33:08
462
1
原创 微信小程序不同机型底部安全区域问题
获取系统信息,你可以获取到屏幕的宽高、底部安全区域的高度等信息。根据这些信息,你可以动态地计算和调整元素的位置和大小。这个属性可以获取到底部安全区域的高度。你可以通过在需要适配的元素上使用此属性,并将其设置为对应的值来实现适配。API 获取系统信息:通过调用。
2023-07-17 09:46:20
1930
原创 web前端-ES6语法学习
我们可以回顾下node.js中是如何实现模块化的。node.js遵循了CommonJS的模块化规范。导入其他模块使用require()方法模块对外共享成员使用对象模块化的好处: 大家都遵守同样的模块化规范写代码,降低了沟通的成本,极大方便了各个模块之间的相互利用,利人利己前端模块化规范分类:在ES6模块化规范诞生之前,JavaSript社区已成常事并提出了等模块化规范。但是这些由社区提出的模块化标准,还是存在一定的差异性与局限性并不是浏览器与服务器通用的模块化标准AMD和CMD 适用于浏览器端。
2023-06-14 17:02:47
1116
原创 web前端-TypeScript学习
TypeScript 是什么?TypeScript(简称:TS)是JavaScript的超集(JS有的TS都有)。TypeScript = Type +JavaScript(在JS基础之上,为JS添加了类型支持TypeScript是微软开发的开源编程语言,可以在任何运行JavaScript的地方运行。TypeScript为什么要为JS添加类型支持?背景: JS的类型系统存在”先天缺陷“,JS代码中绝大部分错误都是类型错误(Uncaught TypeError)。
2023-06-14 16:29:14
7027
原创 如何使用uni-app开发微信小程序
uni-app 是一个使用 Vue.js 开发所有前端应用的框架。开发者编写一套代码,可发布到 iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。详细的 uni-app 官方文档,请翻阅。
2023-06-14 15:58:41
15686
3
原创 Web前端-React学习
是一个用于的。用户界面: HTML页面(前端)React主要用来写HTML页面, 或如果从MVC的角度来看,React仅仅是视图层(V),也就是只负责视图的渲染,而并非提供了完整的M和C的功能。React 有如下几个特点:在我们安装React之前, 可以先安装yarn的安装参考链接React的安装命令:使用React脚手架初始化项目npx命令介绍:使用React脚手架初始化项目在脚手架中使用React调用方法创建react元素调用方法渲染react元素到页面中JSXJSX的基本使用有如下
2023-06-08 16:51:28
1745
原创 Web前端-Vue2.0框架学习
vue是一套用于构建用户界面的前端框架。数据驱动视图双向数据绑定数据驱动视图:在使用vue的页面中,vue会监听数据的变化,从而自动重新渲染页面的结构。示意图如下:好处: 当页面数据发生变化时,页面会自动重新渲染注意: 数据驱动视图是单向的数据绑定双向数据绑定: 在填写表单时,双向数据绑定可以辅助开发者不操作DOM的前提下自动把用户填写的内容同步到数据源中好处: 开发者不需要手动操作DOM元素,来获取表单元素最新的值MVVM 是vue实现数据驱动视图和双向数据绑定的核心原理。
2023-04-22 10:33:21
2223
原创 web前端-微信小程序开发学习
微信小程序和普通网页开发的区别:关于微信公众号平台如何注册小程序的账号, 如何获取小程序的appid, 如何下载小程序的开发工具, 这里我不做过多叙述。大家自行百度安装开发环境。创建组件:在项目的根目录中,鼠标右键创建components->test文件夹在新建的components -> test文件夹上,鼠标右键,点击新建components输入组件的名称之后回车,会自动生成组件对应的4个文件,后缀名分别为为了保证目录结构的清晰,建议把不同的组件,存放到单独目录中。
2023-03-21 14:49:03
8092
2
原创 web学习-Node.js入门学习
Node.js是一个基于Chrome V8引擎JavaScript运行环境Node.js官网Node.js可以做什么:Node.js作为一个JavaScript的运行环境,仅仅提供了基础的功能和API,然而,基于Node.js提供的这些基础功能,很多强大的工具和框架如雨后春笋,层出不穷,所以学习Node.js,可以让前端程序员胜任更多的工作和岗位:基于Express框架,可以快速构建Web应用基于Electron框架,可以构建跨平台的桌面应用基于restify框架,可以快速构建API接口项目。
2023-03-02 14:50:56
913
原创 UICollectionView获取当前item的NSIndexPath问题
UICollectionView获取当前item的NSIndexPath问题
2023-01-03 16:59:44
1217
原创 fluttter学习之ButtonStyle 、MaterialStateProperty
ButtonStyle和MaterialStateProperty的学习
2022-07-28 15:59:51
1159
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人