登录社区云,与社区用户共同成长
邀请您加入社区
文章摘要: 本文记录了一名大三学生在HarmonyOS开发中遇到的数据库与UI设计问题。开发者从Android转向HarmonyOS时,发现relationalStore的异步API与Android的同步SQLite差异较大,尤其在Context类型问题上耗费3小时才解决(需用ApplicationContext而非UIAbilityContext)。通过单例模式封装数据库连接后,又因ArkTS的
在现代应用中,数据存储和持久化是核心功能之一。特别是在移动设备和智能设备中,应用通常需要将一些数据存储在本地,以便后续使用,减少网络请求、提高响应速度,并保证数据的持久性。鸿蒙操作系统提供了多种本地存储和数据持久化方案,包括使用进行数据存储和管理、以及本地文件的存储与访问。本文将介绍数据存储与持久化的需求,如何使用进行本地数据存储,以及如何存储和访问本地文件,最后通过代码示例展示如何实现本地存储与
随着应用的复杂性增加和数据量的增大,如何有效存储和查询数据成为了提高应用性能的关键。数据存储的高效设计不仅涉及如何管理数据,还包括如何优化数据库的性能,使得应用在不同的设备上都能流畅运行。鸿蒙操作系统提供了多种数据存储方式,其中SQLite是最常用的本地数据库存储方式。本文将介绍如何进行高效的数据存储设计,如何使用 SQLite 进行本地数据存储,并提供一些数据库优化和查询性能提升的技巧。通过代码
随着移动应用的普及,数据安全变得越来越重要,尤其是涉及用户隐私和敏感信息的应用。在鸿蒙操作系统中,为了确保本地存储的数据安全,提供了多种加密与数据防护方案。本文将介绍如何在鸿蒙应用中实现本地数据库加密与数据防护,具体涵盖SQLite 加密方式(SQLCipher)接入方案使用 Harmony Secure Store 保护密钥敏感字段脱敏存储策略权限控制与访问审计机制,并通过一个实际案例来展示如何
这篇文章介绍了如何通过代码实现颜色提取和配色方案生成功能。主要内容包括: 使用RGB和HSL两种色彩模型,并介绍它们之间的转换算法 详细解析了RGB转HSL和HSL转RGB的数学原理和实现方法 讲解了五种配色方案的生成逻辑(互补色、类似色、三等分色等),基于色轮的数学计算 展示了如何通过随机色相生成协调的随机色盘 强调了保持饱和度和亮度不变,只改变色相来保证配色协调性 文章通过代码示例和图示,展示
文章摘要: 本文介绍了运势转盘页面的交互优化与实现细节。通过丰富转盘结果内容(运势详解、幸运物品等),用户停留时间显著提升。技术实现上采用数据和UI分离的设计模式,运势数据通过轻量的interface定义,星级评分用emoji字符组合实现视觉表达。布局采用卡片式设计,利用Blank()组件优化对齐,幸运物区域通过百分比宽度和间距控制实现自适应排列。整体设计注重模块化和代码复用,兼顾视觉效果与性能优
本文介绍了星空运势应用如何优化导航栏设计,通过将底部Tab移至顶部,采用图标+文字+下划线的三重视觉反馈方案,实现了更优雅的导航体验。技术实现上,通过状态驱动同步导航栏与Swiper页面切换,并设计了紫色与金色的主题配色系统。文章详细解析了动画效果参数(如15%缩放比例、300ms动画时长)、颜色梯度设计原理(6种紫色与金色搭配),以及三重反馈机制如何提升用户体验和专业感,最终呈现出一个协调的暗色
本文介绍了如何为应用实现主题系统,以支持深色/浅色模式切换。核心内容包括: 设计Token体系:通过定义颜色、间距、圆角、字号等设计常量,构建统一的设计语言系统 主题配置实现:创建Theme.ts文件管理主题相关配置,使用枚举类型确保类型安全 颜色系统设计:采用Material Design风格的7色分类法,区分背景色、主色调、强调色等 主题切换机制:通过getThemeColors函数实现动态主
本文介绍了转盘抽签历史记录页面的设计与实现。页面采用倒序排列展示抽签结果,包含食物名称、emoji、分类和时间信息,顶部提供分类筛选标签,底部设有清空按钮。关键设计点在于直接存储食物名称和emoji而非ID引用,确保记录在食物删除后仍有效。页面结构分为标题、筛选标签、记录列表和操作按钮四部分,筛选逻辑通过分类标签实现。列表采用左右布局展示核心信息和元数据,并包含空状态提示。清空功能采用红色警告按钮
本文介绍了CapsuleDatabase在App中的核心作用与实现机制。作为数据存储中心,它采用"内存数组+Preferences持久化"的双层架构,兼顾性能与数据安全。内存层存储Capsule对象数组,持久化层通过Preferences存储JSON字符串,写入时先更新内存再同步磁盘。文章详细解析了Capsule接口的8个字段定义及其应用场景,阐述了CapsuleDatabase类的三个关键属性设
在 HarmonyOS 的 ArkTS 运行时中,内存管理采用了基于对象追踪(Tracing GC)的高性能垃圾回收机制,并结合了专门的泄漏检测工具,以保障应用的流畅运行与内存安全。
本文摘要: HarmonyOS关系型数据库(RDB)入门教程,以「柚兔学伴」项目的待办事项管理为例,详细讲解了数据库操作全流程。主要内容包括: 数据库配置:通过StoreConfig设置数据库名称、安全级别和加密选项 数据模型设计:定义TodoItem和StatItem接口,使用SQL语句创建表结构 数据库初始化:获取RdbStore实例并执行建表SQL CRUD操作实现: 增:使用ValuesB
术语解释GC Root垃圾回收引用链根节点) 是垃圾回收器进行可达性分析的起点。从 GC Root 能访问到的节点对象是“存活的”,否则会被回收。引用链在 ArkTS 中,“引用链”就是从某个GC Root(如VMRoot、FrameRoot等)出发,经过一连串的对象引用,最终到达目标对象的路径。如果这个路径存在,则该对象是“存活”的,不会被 GC 回收;如果从任何 GC Root 都无法找到一条
"代码铸盾,安全为矛"——LongyuanShield 以量子编译重写热力学宿命,用归墟代码在宇宙尽头刻下文明墓志铭!最终触发"薛定谔的猫"安全模式:所有设备同时存在运行/停止状态。材料计算发现常温超导新结构(后被证实是编译器优化产生的幻象)意外发现"量子纠缠病灶"(北京患者与纽约患者共享病灶特征)《量子位面穿越指南:从JVM到十一维空间的108种姿势》《赛博封神榜:Java安全编码与诛仙剑阵的量
"鸿蒙初判!当前因果链突破十一维屏障——全体码农修士注意,《JVM考古现场(十八)》即将渡劫飞升!
本文介绍了仓颉编程语言中类与对象的设计理念及实战应用。文章首先分析了仓颉中class(引用类型)和struct(值类型)的区别,强调class支持继承而struct不支持,并通过订单管理系统示例展示了具体实现。示例中定义了DiscountPolicy接口和PriceRange结构体,创建了Order基类及其子类VipOrder,实现了基于阈值和百分比的折扣策略。文章深入探讨了值/引用语义的取舍、单
仓颉自带“全并发标记整理 GC”(fully concurrent, compacting),以极低暂停、低碎片为目标:同步平均耗时通常在数十微秒量级;配合 region-based 的内存整理与 bumping-pointer 分配,既减少碎片又提高分配速度。这些设计决定了我们的调优重点:不是去“压短 STW”,而是。
"老奶奶记账"是一款专为老年人设计的HarmonyOS记账应用,采用ArkTS语言开发,具有简洁易用的特点。应用采用分层架构设计,分为UI层、业务逻辑层和数据层,使用SQLite进行数据存储。UI设计采用大字体、大按钮等适老化元素,数据库表结构包含收支类型、金额、日期等字段,并采取加密等安全措施保障老年人数据安全。项目遵循单一职责、开闭原则等设计原则,实现了完整的CRUD功能,帮助老年人轻松管理个
哈喽!我是小L,那个在ArkTS内存世界「玩转分代GC」的女程序员~ 你知道吗?一个对象在ArkTS里可能经历「新生代→老生代→永生代」的「晋升之路」!今天就来揭秘鸿蒙分代GC的「年龄歧视法则」——,让你的应用内存管理「精准如钟表」!
获取进程相关的信息,提供进程管理的相关功能。process1. EventListener2. isIsolatedProcess3. is64Bit4. getStartRealtime5. getPastCpuTime
任务池(taskpool)作用是为应用程序提供一个多线程的运行环境,降低整体资源的消耗、提高系统的整体性能,且您无需关心线程实例的生命周期。您可以使用任务池API创建后台任务(Task),并对所创建的任务进行如任务执行、任务取消的操作。理论上您可以使用任务池API创建数量不受限制的任务,但是出于内存因素不建议您这样做。此外,不建议您在任务中执行阻塞操作,特别是无限期阻塞操作,长时间的阻塞操作占据工
ArkTS 的分代式 GC 模型通过将内存空间划分为年轻代和老年代,并采用不同的回收算法进行优化,有效提高了垃圾回收的效率。我们可以通过了解分代式 GC 的原理和优化策略,更好地管理内存资源,提升应用性能。
三、do-while 表达式do-while 表达式的基本形式为:do {循环体} while (条件)其中“条件”是布尔类型表达式,“循环体”是一个代码块。do-while 表达式将按如下规则执行:执行“循环体”,转第 2 步。计算“条件”表达式,如果值为 true 则转第 1 步,值为 false 转第 3 步。结束循...
有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了。
金三银四马上就到了,希望大家能好好学习一下这些技术点,需要领取这些学习资料和面试笔记的朋友请**赶紧点击这里免费获取!**学习视频:大厂面试真题:[外链图片转存中…(img-VrlwCGDw-1626195876483)]自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己
上面的内存相关知识也是自己学习的一种总结,有错误的可以留言指正。内存优化,需要对下面的知识有一定的了解。Java内存分配模型Java的四大引用及其使用场景内存检测工具及常用命令GC Root的定义。
上面的内存相关知识也是自己学习的一种总结,有错误的可以留言指正。内存优化,需要对下面的知识有一定的了解。Java内存分配模型Java的四大引用及其使用场景内存检测工具及常用命令GC Root的定义自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!!**[外链图片转存中…(img-xyyWn5Wa-1712563054140)]
鸿蒙Harmony OS Next原生开发天气预报项目天气信息未来天气展示
关系型数据库支持两种方式:恢复手动备份数据和恢复自动备份数据(仅系统应用可用),具体可见[关系型数据库数据恢复](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/data-backup-and-restore-V5#关系型数据库数据恢复)。await HistoryRecordModel.getInstance().
如图9所示,并行标记时,每个Marking线程都要执行以下操作从全局工作队列(GlobalWorkList)获取一个对象,然后设置标记位,最后遍历该对象的每个域,将子对象放入全局工作队列中。此时,JS线程会将对象3加入等待标记队列,等marking线程完成对象2的标记后,继续对象3的标记,从而确保对象3不会被回收。考虑到大多数新分配的对象都会在一次GC之后被回收,而大多数经过多次GC之后依然存活的