自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 开源鸿蒙平台 KMP 三方库「AutoLinkText」适配全流程

社区此前批准的钉法是 HarmonyOS Kotlin(qrose / haze 用的)。但 Compose ohos 线按 Kotlin 2.4.20 编译,2.2.21 读不了 2.4 元数据。Kotlin 钉(与 koalaplot-core / compose-imageloader / Enro 同代)。上游源码是 Kotlin 2.0.21 编的,2.4.20 向后兼容,源码级改动为零;Gradle 方面 2.4.20 线支持 9.x,wrapper 从 8.10.2 升到9.6.1(连。

2026-10-29 12:03:12 1069

原创 开源鸿蒙平台 CMP 三方库「shadcn」适配全流程

本文记录 shadcn-multiplatform 接入 OpenHarmony 的完整适配过程,核心突破在于将设计令牌引擎(基于 Figma 导出)转为纯 Kotlin 运行时,通过 C ABI/N-API 桥接实现 ArkTS 侧数据驱动。克服了工具链不兼容、Compose 制品缺失等障碍,保留上游组件代码隔离,仅编译令牌解析逻辑至 ohosArm64/X64 动态库,最终在真机上以四 Tab 页面验证全量设计令牌的可用性与一致性,实现跨平台统一视觉体系。

2026-10-29 11:59:18 1056

原创 开源鸿蒙平台 CMP 三方库「reveal」适配全流程

本文实现 reveal 库在 OpenHarmony 的完整适配,基于同代 Compose 1.12.0 ohos 制品线,原样编译上游 commonMain 源码,通过无头门面与 C ABI/N-API 桥接,打通状态机、挖孔几何、排布算法至 ArkUI 真机执行。支持 ohosArm64/x64 双架构,验证引导、几何、状态机全链路功能,交付 HAP 并完成真机验收,实现 KMP 能力无缝迁移。

2026-10-29 11:58:16 1054

原创 开源鸿蒙平台 CMP 三方库「cryptography-kotlin」适配全流程

本文详述 cryptography-kotlin 在 OpenHarmony 上的完整适配过程,涵盖构建体系重构、ohosArm64/ohosX64 目标添加、Kotlin/Native 动态库生成与 C ABI/N-API 桥接。核心成果:6 个 provider 无关模块(SecureRandom、PEM、ASN.1、BigInt 等)原样编译为 OpenHarmony KLIB,真实运行于真机,支持 /dev/urandom、RFC 5280 ASN.1 编解码与大整数运算;算法引擎层因缺预构建 li

2026-10-28 12:20:18 1208

原创 开源鸿蒙平台 KMP 三方库「kasechange」适配全流程

本文记录 kasechange 在 OpenHarmony 平台的完整适配过程:零依赖、零改动复用上游 6 个 Kotlin 源文件与 71 个测试用例,拆除 multigradle 约定插件,采用 cmp_qrose 模式显式构建,基于 Kotlin 2.2.21-1.0.0 + Gradle 8.14.1 编译出 ohosArm64/ohosX64 动态库。通过 C ABI/N-API 桥接实现 ArkUI 真机页面调用,支持 12 种命名风格互转、分词与全格式一览,完成 HAP 构建与真机验收,验证了

2026-10-28 12:19:30 1193

原创 开源鸿蒙平台 CMP 三方库「Composables UI」适配全流程

本文记录了Composables UI在OpenHarmony平台的完整适配过程,采用“设计系统数值层提取”路线,将25个@Composable组件的色彩、尺寸、动效等设计令牌原样提取并编译为ohosArm64/X64 KLIB,通过C ABI/N-API桥接实现ArkUI五Tab页面渲染。项目保留上游源码零损耗,仅编译数值内核,确保与Kotlin 2.4/Compose 1.11一致,并完成HAP构建与设备验收,验证了纯UI库在鸿蒙上的可交付性。

2026-10-28 12:18:50 1120

原创 开源鸿蒙平台 CMP 三方库「compose-webview-multiplatform」适配全流程

本文详述 compose-webview-multiplatform 在 OpenHarmony 的适配过程,采用“引擎复用、视图隔离”(cmp_qrose)模式,将上游 Kotlin 引擎原样编译为 ohosArm64/x64 KLIB,ArkTS Web 组件承载视图,通过 C ABI/N-API 实现与 JS 桥协议的逐字节一致通信。项目实现跨平台 WebView 真机运行,支持状态记忆、导航、Cookie 管理、请求拦截及双向桥接,完整覆盖 HAP 构建与真机验收链路,确保协议一致性与可维护性。

2026-10-27 22:41:04 1170

原创 开源鸿蒙平台 CMP 三方库「multiplatform-markdown-renderer」适配全流程

本文详述 multiplatform-markdown-renderer 在 OpenHarmony 上的适配过程,采用 cmp_qrose 路线:将解析内核(纯 Kotlin)编译为 ohosArm64/x64 KLIB,通过 C ABI/N-API 暴露给 ArkTS,由 ArkUI 原生组件递归渲染文档树。核心突破在于绕过 Compose 缺失问题,实现真实 GFM 解析器在真机运行,支持全特性渲染与实时编辑,验证了上游解析逻辑无漂移,并完成 HAP 构建与真机验收。

2026-10-27 22:39:53 1408

原创 开源鸿蒙平台 CMP 三方库「skiko」适配全流程

本文实现 skiko 在 OpenHarmony 的完整适配,通过消费社区已发布的 skiko:0.9.22.2-1.0.0 klib(含 ohos 静态 Skia 库),零修改上游源码,基于 Kotlin/Native C ABI 与 N-API 桥接,将 org.jetbrains.skia 渲染能力成功接入 ohosArm64/ohosX64 平台。项目构建采用 cmp_qrose 模式,隔离工具链冲突,实现真机渲染、ArkUI 页面展示与 HAP 交付,验证了 9 类 2D 图形场景的跨平台可用性,

2026-10-27 22:39:10 1417

原创 Flutter for OpenHarmony音乐播放器App实战19:MV播放实现

MV播放是音乐播放器中一个重要的视频功能模块。用户可以观看歌曲的MV,享受视听结合的体验。本篇将详细介绍如何实现一个功能完善的MV播放页面,包括视频控制、全屏切换、手势操作和相关MV推荐。

2026-02-03 23:17:33 1043

原创 Flutter for OpenHarmony音乐播放器App实战13:歌手列表实现

歌手列表页面展示所有歌手,用户可以浏览并点击进入歌手详情页。本篇我们使用网格布局来实现这个页面,每个歌手显示圆形头像和名称。这是音乐App中常见的歌手展示方式。

2026-02-03 23:16:53 992

原创 Flutter for OpenHarmony音乐播放器App实战03:首页实现

首页是用户进入App后看到的第一个内容页面,它需要展示最重要的信息和功能入口。音乐播放器的首页通常包含Banner轮播、快捷入口、推荐歌单、热门歌手、新碟上架等模块。本篇我们来实现一个功能丰富的首页。

2026-02-03 23:15:27 652

原创 Flutter for OpenHarmony音乐播放器App实战11:创建歌单实现

页面需要管理输入控制器和隐私开关状态。@override用于控制歌单名称输入框,_isPrivate标识歌单是否设为私密。在dispose方法中释放控制器资源,这是Flutter开发中的标准做法。创建歌单页面虽然功能相对简单,但涉及到表单输入、状态管理、输入验证等多个Flutter开发中的常见场景。通过合理的组件拆分和状态管理,让代码结构清晰、易于维护。在实际项目中,还需要对接后端接口实现真正的歌单创建功能,以及使用image_picker等插件实现图片选择。

2026-02-03 23:14:13 608

原创 Flutter for OpenHarmony音乐播放器App实战14:专辑详情实现

可以在歌曲列表前添加专辑简介。'专辑简介',),'这是一张非常棒的专辑,收录了歌手的多首经典作品。'专辑风格多样,既有抒情慢歌,也有动感快歌,值得细细品味。',),'展开',),),],),),简介默认显示3行,点击"展开"可以查看完整内容。专辑详情页的实现使用了CustomScrollView和多个Sliver组件的组合:SliverAppBar实现可折叠的头部,SliverToBoxAdapter包装普通Widget,SliverList构建歌曲列表。

2026-02-03 23:13:43 847

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-02 23:03:13 974

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-02 23:02:25 962

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-02 23:01:41 558

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-02 23:01:08 1034

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-02 23:00:31 790

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-01 23:10:13 634

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-01 23:09:11 696

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-01 23:07:52 1040

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-01 23:07:15 741

原创 Flutter for OpenHarmony 剧本杀组队App实战04:发起组队表单实现

首先我们需要导入Flutter的Material组件库和GetX状态管理库。Material组件库提供了丰富的UI组件,GetX则用于路由导航和消息提示功能。这两行导入语句是Flutter开发中最常见的依赖。material.dart包含了所有Material Design风格的组件,get.dart则是GetX框架的核心库,提供了状态管理、路由管理和依赖注入等功能。接下来定义CreateTeamPage类,这是发起组队页面的主体结构。

2026-02-01 23:05:55 594

原创 flutter_for_openharmony逆向思维训练app实战+学习日历实现

你的现在是。维护一个或者(例如yyyy-MM-dd如果集合里包含这一天 => 返回['学习']否则返回[]在 Flutter 里,推荐用字符串作为 key(例如2024-02-03),因为DateTime的时区/时分秒可能带来意外差异。你项目已经引入intl(在的 import 里)。如果你愿意后续做真实持久化,是一个很自然的 key 生成方式。

2026-01-31 23:30:49 913

原创 flutter_for_openharmony逆向思维训练app实战+学习日历实现

你的现在是。维护一个或者(例如yyyy-MM-dd如果集合里包含这一天 => 返回['学习']否则返回[]在 Flutter 里,推荐用字符串作为 key(例如2024-02-03),因为DateTime的时区/时分秒可能带来意外差异。你项目已经引入intl(在的 import 里)。如果你愿意后续做真实持久化,是一个很自然的 key 生成方式。

2026-01-31 23:30:18 728

原创 【无标题】

作为音乐播放器系列的开篇,我们先来实现一个带有动画效果的启动闪屏页面。闪屏页面是用户打开App后看到的第一个界面,一个好的闪屏设计能给用户留下深刻的第一印象。

2026-01-31 23:29:53 445

原创 flutter_for_openharmony逆向思维训练app实战+学习日历实现

你的现在是。维护一个或者(例如yyyy-MM-dd如果集合里包含这一天 => 返回['学习']否则返回[]在 Flutter 里,推荐用字符串作为 key(例如2024-02-03),因为DateTime的时区/时分秒可能带来意外差异。你项目已经引入intl(在的 import 里)。如果你愿意后续做真实持久化,是一个很自然的 key 生成方式。

2026-01-31 23:29:44 571

原创 flutter_for_openharmony逆向思维训练app实战+学习日历实现

你的现在是。维护一个或者(例如yyyy-MM-dd如果集合里包含这一天 => 返回['学习']否则返回[]在 Flutter 里,推荐用字符串作为 key(例如2024-02-03),因为DateTime的时区/时分秒可能带来意外差异。你项目已经引入intl(在的 import 里)。如果你愿意后续做真实持久化,是一个很自然的 key 生成方式。

2026-01-31 23:29:10 764

原创 Flutter for OpenHarmony 电子合同签署App实战 - API集成实现

本文介绍了实现高效API集成的关键设计要素,包括安全通信、错误处理和性能优化。通过使用Dio库实现单例HTTP客户端,配置基础URL和超时设置,添加请求/响应拦截器处理认证和日志,并设计专门的API服务类来封装业务逻辑。这种架构确保了API调用的安全性、可靠性和可维护性,同时通过日志和错误处理机制提高了调试效率。文章提供了完整的代码示例,展示如何从配置到实现构建一个完整的API集成系统。

2026-01-30 23:16:17 951

原创 Flutter for OpenHarmony 电子合同签署App实战 - API集成实现

本文介绍了实现高效API集成的关键设计要素,包括安全通信、错误处理和性能优化。通过使用Dio库实现单例HTTP客户端,配置基础URL和超时设置,添加请求/响应拦截器处理认证和日志,并设计专门的API服务类来封装业务逻辑。这种架构确保了API调用的安全性、可靠性和可维护性,同时通过日志和错误处理机制提高了调试效率。文章提供了完整的代码示例,展示如何从配置到实现构建一个完整的API集成系统。

2026-01-30 23:15:46 640

原创 Flutter for OpenHarmony 视力保护提醒App实战 - 错误处理与异常管理

本文介绍了视力保护提醒应用中的错误处理机制,主要包括四个方面:异常捕获、错误提示、日志记录和恢复机制。通过try-catch捕获异常并分类处理不同类型的错误,使用自定义异常类提供更清晰的错误信息。Logger类实现了详细的日志记录功能,帮助开发者调试问题。还实现了自动重试的恢复机制,在网络不稳定时自动重试操作。这些措施共同确保了应用的稳定性和良好的用户体验。

2026-01-29 23:05:48 677

原创 Flutter for OpenHarmony 视力保护提醒App实战 - 错误处理与异常管理

本文介绍了视力保护提醒应用中的错误处理与异常管理机制。主要内容包括:1) 使用try-catch捕获异常并分类处理不同错误类型;2) 创建自定义异常类(AppException)提供清晰的错误信息;3) 实现日志记录功能(Logger类)帮助调试;4) 设计重试机制(retryOperation)增强网络请求稳定性。这些方法共同构建了完整的错误处理体系,提高了应用稳定性和用户体验,特别针对网络不稳定等常见问题提供了解决方案。

2026-01-29 23:05:13 829

原创 Flutter for OpenHarmony 剧本杀组队App实战02:首页Banner与快捷入口实现

本文介绍了剧本杀App首页的设计与实现,采用Flutter框架开发。首页采用垂直滚动布局,包含Banner、快捷入口、热门剧本和附近店铺四个核心模块。Banner区域使用紫色渐变背景和阴影效果增强视觉吸引力;快捷入口提供常用功能导航;热门剧本采用横向滚动卡片展示;附近店铺以垂直列表呈现。代码实现采用模块化设计,将各部分封装为独立方法,提高可维护性。数据使用静态Map结构存储,包含剧本和店铺的关键信息,便于UI展示。整体设计遵循Material Design规范,使用GetX进行路由管理,为用户提供直观高效的

2026-01-28 22:58:31 543

原创 Flutter for OpenHarmony 剧本杀组队App实战02:首页Banner与快捷入口实现

本文介绍了剧本杀App首页的实现过程,采用Flutter框架构建垂直滚动布局。首页包含AppBar标题栏(带搜索功能)、渐变背景Banner、快捷功能入口、热门剧本横向滚动列表和附近店铺卡片展示。核心设计采用紫色主题(0xFF6B4EFF),渐变效果从深紫到浅紫过渡,统一圆角12-16px,设置三档间距标准。代码实现方面,使用静态数据模拟热门剧本和店铺信息,通过SingleChildScrollView实现滚动布局,各功能模块封装为独立Widget方法。Banner区域采用线性渐变和阴影效果增强视觉体验,为

2026-01-28 22:57:55 588

原创 Flutter for OpenHarmony 剧本杀组队App实战26:邀请好友功能实现

本文介绍了邀请好友功能的实现方案,包含邀请码生成、分享方式和记录展示等核心功能。通过数据模型定义邀请记录结构,使用GetX框架实现响应式状态管理。UI设计采用渐变卡片突出奖励机制,支持多种分享渠道,并列表展示邀请进度。功能实现包括:1) 邀请码生成与复制;2) 微信、二维码等多渠道分享;3) 邀请记录状态追踪;4) 奖励计算逻辑。该方案可有效提升用户邀请意愿,促进应用增长。

2026-01-27 22:53:41 695

原创 Flutter for OpenHarmony 剧本杀组队App实战26:邀请好友功能实现

本文介绍了邀请好友功能的实现方案,包括数据模型设计和UI开发。使用GetX框架构建响应式控制器管理邀请码、记录和奖励计算。页面包含渐变背景的奖励卡片、可复制的邀请码和多种分享方式。邀请记录列表展示好友状态和奖励信息,帮助用户追踪邀请进度。该方案通过清晰的奖励机制和便捷的分享功能,有效提升用户邀请意愿,促进用户增长。

2026-01-27 22:51:56 582

原创 Flutter for OpenHarmony 电子合同签署App实战 - 设置实现

本文介绍了Flutter应用中设置功能的实现方法,包括数据模型定义、页面结构设计、模拟数据生成和搜索功能开发。通过定义SettingsPageModel数据模型确保数据一致性,使用StatefulWidget构建响应式页面,并实现实时搜索过滤功能。该方案提供了清晰的用户界面、高效的数据管理和完善的业务逻辑,满足电子合同应用对设置功能的需求,同时优化了用户体验和性能表现。

2026-01-26 21:59:48 612

原创 Flutter for OpenHarmony 电子合同签署App实战 - 设置实现

本文介绍了Flutter应用中设置功能的实现方法,包括数据模型定义、页面结构设计、模拟数据生成和搜索功能开发。通过定义SettingsPageModel数据模型确保数据一致性,使用StatefulWidget构建响应式页面,并实现实时搜索过滤功能。该方案提供了清晰的用户界面、高效的数据管理和完善的业务逻辑,满足电子合同应用对设置功能的需求,同时优化了用户体验和性能表现。

2026-01-26 21:59:03 617

原创 Flutter for OpenHarmony音乐播放器App实战:首页功能展示实现

本文介绍了音乐播放器App首页的实现方案,主要包括以下内容:1)首页功能模块设计,包含Banner、快捷入口、推荐歌单、热门歌手和新碟上架;2)核心技术点,使用SingleChildScrollView实现滚动布局,GridView和ListView构建网格和横向列表;3)详细代码实现,包括Banner的视觉设计、快捷入口的交互跳转以及各模块的UI构建。通过分层布局和组件复用,实现了一个功能丰富、交互流畅的音乐播放器首页。

2026-01-25 23:11:04 687

空空如也

空空如也

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

TA关注的人

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