自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 鸿蒙第三方库MMKV源码学习笔记

MMKV 基于c++,根据腾讯自研的"core" 模块实现核心逻辑,主要负责以下功能: 内存映射(Memory Mapping) :通过操作系统的 mmap 系统调用,将文件直接映射到内存中,从而实现高效的读写操作。 序列化与反序列化 :使用 Google 的 Protocol Buffers(protobuf)进行数据的序列化和反序列化,确保数据存储的高效性和兼容性 线程安全 :通过锁机制(如互斥锁)保证多线程环境下的数据一致性。

2025-02-18 21:02:55 701

原创 HarmonyOS进程通信及原理

大家好,我是学徒小z,最近在研究鸿蒙中一些偏底层原理的内容,今天分析进程通信给大家,请用餐😊。

2025-02-18 21:01:31 1149

原创 鸿蒙开发中的骨架图:提升用户体验的关键一环

骨架图,简单来说,是一种在数据尚未加载完成时,展示页面大致结构的占位图形。它就像一个精心搭建的建筑蓝图🏗️,以简洁的线条和几何形状勾勒出页面的主要元素,如标题栏、列表项、图片区域等。当用户打开应用,首先映入眼帘的不再是一片空白,而是一个大致的页面框架,为后续填充具体内容提供了基础。

2025-01-20 20:05:47 1130

原创 【鸿蒙开发——一多开发分栏实践】

目前智能终端设备的种类繁多,不同类型的设备屏幕大小、用户使用习惯也存在不同,这给UI布局以及功能适配带来了很多挑战。以分栏布局为例,在手机、折叠屏以及平板下,最佳显示效果存在如下差异:手机仅支持单栏显示折叠屏可以支持单双栏显示平板支持三栏显示

2024-12-15 21:26:37 1109

原创 【HarmonyOS——最新一多开发布局实践】

一多开发是指通过统一的代码实现多种设备的适配。断点和媒体查询,除此之外还有一个栅格布局。

2024-12-09 00:56:21 1141 2

原创 【最新鸿蒙开发——应用导航设计】

大家好,我是小z,不知道大家在开发过程中有没有遇到模块间跳转的问题,今天给大家分享关于模块间跳转的三种方法。

2024-12-01 21:21:02 1140

原创 【HarmonyOS——Map Kit地图无法显示问题解决方法】

上述所有步骤做完之后,你的地图应该就可以正常显示了,如果还是不能(应用之前已经存在设备中会存在这种情况),卸载应用重新进行安装即可。顺便提一下:这几个证书有依赖关系,先生成p12和csr, 然后根据csr,生成cer,再根据cer,生成对profile。,还是需要手动签名,只不过是.p12自动生成了,下面的两个文件还是需要去AGC中配置并下载。调试证书,这里会自动生成一个调试证书,下面配置的profile需要选取这个调试证书,,添加自动生成的调试证书,这很重要,顺序不对,就不能显示地图。

2024-11-24 20:24:08 566 2

原创 【最新鸿蒙开发之性能优化——动态加载和延迟加载】

动态加载(动态import)是一种模块加载机制,允许应用程序在运行时按照实际需求去加载相关模块。在某些条件满足时(比如用户交互时,或分支切换时)再加载特定模块,可以减少初始化import的加载时间和资源消耗,这将有助于提高应用程序的内存性能和响应速度。以通过延迟加载 Lazy-Import的方法延缓对这些冗余文件的加载,使待加载文件在冷启动阶段不被加载,而在后续导出变量被真正使用时再同步加载执行文件,节省资源以提高应用冷启动性能。

2024-11-17 22:40:29 1098

原创 【HarmonyOS——MVVM模式 | 理解MVVM模式,看这一篇就够了】

应用开发中,UI的更新状态需要随着数据的更新而同步更新,这种同步往往决定了应用的性能和用户体验。为了解决UI和数据同步的复杂性,ArkUI采用了Model-View-ViewModel的架构模式。通过这种模式,UI可以随着状态的变化自动更新,无需手动处理。Model:处理与应用数据相关的业务逻辑和数据访问层。它通常包括数据结构、服务层调用和与数据库操作。View:没有业务逻辑,尽量保持“傻瓜化”,通过数据绑定和事件监听与ViewModel交互。ViewModel:负责管理UI状态和交互逻辑。

2024-11-10 22:18:40 1259

原创 鸿蒙API12 端云一体化开发——云函数篇

大家好,我是学徒小z,我们接着上次的端云一体化继续讲解,今天来说说云函数怎么创建和调用。

2024-10-28 22:03:06 569

原创 【鸿蒙开发 | 端云一体化 —— 开发app不要在为没有后端而烦恼了,端云一体化帮你完成一站式开发!】

​ 鸿蒙端云一体化是华为鸿蒙系统中一种将终端(端)和云端紧密结合、协同工作的开发与应用模式(划重点,有大量免费额度),以下是对它的详细介绍。

2024-10-27 23:08:41 1521

原创 还在为调用大模型API接口返回数据的处理问题烦恼???来看看这篇文章,解决你的烦恼!!!

流式返回解决调用api返回数据加载的问题

2024-10-17 21:20:44 2158 1

原创 设计模式——门面模式 | 外观模式

定义:要求一个子系统的外部与其内部的通信必须通 过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

2024-10-09 18:21:28 1525

原创 设计模式——观察者模式

定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。

2024-10-08 16:02:50 1523

原创 设计模式——策略模式

定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式的重点就是封装角色,它是借用了代理模式的思路,它和代理模式差别就是策略模式的封装角色和被封装的策略类不用是同一个接口,如果是同一个接口那就成为了代理模式。

2024-10-03 12:04:24 1635

原创 设计模式——责任链模式

定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。

2024-10-02 12:44:28 1511 1

原创 设计模式——命令模式

将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请 求排队或者记录请求日志,可以提供命令的撤销和恢复功能命令模式是一种行为型设计模式(行为型设计模式:它主要关注对象之间的交互和职责分配,用于处理系统中对象的行为)我们先来看一个项目和甲方客户之间的样例图一图二图一是未修改的类图,可以发现,客户(client)每次提新的需求都要和对应的组进行沟通CodeGroup、PageGroup、RequirementGroup。

2024-09-29 20:42:41 1740

原创 【鸿蒙开发api12】——带你彻底理解并发能力(二)

跨线程交互场景通信方式宿主线程->TaskPool线程参数传递后分发任务;过程中不支持正向通信TaskPool线程->宿主线程结果返回;sendData触发宿主线程序步回调宿主线程->Worker线程采用postMessage&onmessage异步通信Worker线程->宿主线程采用postMessage & onmessage异步通信任意线程任意线程使用@ohos.emitter实现双向异步通信。

2024-09-27 20:29:45 1442

原创 【鸿蒙开发api12】——带你彻底理解并发能力(一)

多线程并发概述:当前ArtTs提供TaskPool和Worker两种并发能力,TaskPool和Worker都基于Actor并发模型实现

2024-09-26 15:23:51 1100

原创 【最新鸿蒙开发】——还在为公用组件无法使用链式调用、传参过多而发愁吗?快来看看这一篇组件封装文章,解决你的烦恼

在应用开发中,通常需要对ArkUI组件进行封装以便业务复用。结合目前鸿蒙化过程中的实际案例,主要包含以下三种ArkUI组件封装复用的典型业务场景:- 公用组件封装场景:公用组件封装主要指对系统组件进行封装使用。比如公共组件库需要按照用户体验规范样式提供统一的系统组件样式**供其他业务团队使用**,如登录按钮、弹窗按钮。- 弹窗组件封装场景:弹窗组件内部封装弹窗内容和弹窗控制器,调用方通过状态变量控制弹窗显隐。- 组件工厂类封装场景:组件工厂类封装了全部的组件并将自身向外暴露,调用方通过传入不同的参数

2024-09-22 21:32:45 1145

原创 【最新鸿蒙开发 | api12】——应用性能优化实践

应用启动时,后台无该应用的进程,需要创建新的进程,这种启动方式叫做冷启动。过程大概分为四个阶段:应用进程创建和初始化、App和Ability的初始化、Ability生命周期、加载绘制首页第一阶段:应用需要在它的进程孵化仓里面去孵化出一个新的进程,进行必须的一些资源和初始化设置合适分辨率的startWindowIcon(启动图标)

2024-09-17 21:29:42 1210

原创 【最新鸿蒙开发】带你简单了解Native适配开发

HarmonyOS Node-API是基于Node.js 8.x LTS的Node-API规范扩展开发的机制,为开发者提供了ArkTS/JS与C/C++模块之间的交互能力。它提供了一组稳定的、跨平台的API,可以在不同的操作系统上使用。通过上面的示例,我们可以看到,使用Node-API实现跨语言交互开发流程并不复杂。只需要掌握好相关的接口和步骤,你就能够轻松地在C/C++和ets文件之间进行数据传输和函数调用。当然,这只是一个简单的示例,实际开发中可能会遇到更加复杂的情况和问题。

2024-09-08 21:27:24 1784

原创 【最新鸿蒙开发api12】——公共事件和后台代理提醒的简单使用

CES(公共事件服务)为应用程序提供订阅、发布、退订公共事件的能力从系统角度分类:系统公共事件和自定义公共事件系统公共事件:CES内部定义的公共事件,例如HAP安装、更新、卸载等自定义公共事件:应用定义的公共事件、可用于实现跨进程的事件通信能力公共事件按发送方式可分为:无序、有序、粘性有序:按照订阅者设置的优先级,多个订阅者具有相同的优先级,曾他们将随机接收到公共事件粘性公共事件:能够让订阅者收到在订阅前已经发送的公共事件就是粘性公共事件。普通的公共事件只能在订阅后发送才能被接收到。

2024-08-04 19:29:10 2157

原创 【最新鸿蒙开发api12】——学会瀑布流的实现和应用,这一篇就够了

我们的瀑布流小姐姐相册就这样完成啦!通过LazyForEach的懒加载、WaterFlow的灵活布局、无限流的持续加载,以及性能优化,我们创造了一个流畅美观的图片浏览体验。

2024-07-29 17:31:39 2907 4

原创 【最新鸿蒙开发api12、DevEco5.0版本 | 逆波兰表达式】- 计算器的实现!!!

我们的HarmonyOS计算器!它不仅能够进行基本的算术运算,还能处理复杂的表达式,甚至包括阶乘和幂运算。通过实现这个看似简单的应用,我们实际上涉及了许多重要的编程概念:正则表达式、栈的使用、字符串处理、UI设计等等。记住,每一个伟大的应用都是从简单的想法开始的。今天的计算器,明天可能就是改变世界的下一个大应用!所以,继续编码,继续创造,让我们一起用HarmonyOS改变世界!最后,如果你在实现过程中遇到了任何问题,不要气馁。就像计算器处理复杂表达式一样,解决问题的过程可能需要一步步来。

2024-07-28 17:51:47 2055

原创 最新鸿蒙开发Dev5.0——通知

进度条类型通知则用于显示任务进度或下载进度等信息。除了包含基础类型通知的内容外,它还可以添加一个进度条,以便用户了解任务的进度情况。这种通知适用于文件下载、长任务处理等场景,可以动态显示进度变化,帮助用户更直观地跟踪任务进度。基础类型通知是一种简单的通知样式,用于显示重要的文本信息或简短的通知内容。它通常包含标题、内容和图标,用户可以通过点击通知来执行相关操作。我们可以给通知或其中的按钮设置的行为意图(Want),从而实现拉起应用组件或发布公共事件等能力。导入notificationManager。

2024-07-21 20:43:20 1102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除