<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Magic-ZYJ的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/magicZYJ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; magicZYJ]]></copyright><item><title><![CDATA[HarmonyOS 文件选择与读写：DocumentViewPicker、URI、沙箱目录一次搞清]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164299527</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164299527</guid><author>magicZYJ</author><pubDate>Wed, 02 Sep 2026 16:05:50 +0800</pubDate><description><![CDATA[HarmonyOS 文件开发中，最容易搞混的是 URI 和真实文件路径。本文从 DocumentViewPicker 选择文档开始，介绍文件 URI 的读取方式，以及 filesDir、cacheDir、databaseDir 等沙箱目录的区别，并结合文件导入、导出场景整理一套比较清晰的处理流程。]]></description><category></category></item><item><title><![CDATA[HarmonyOS 图片选择、系统相机拍照与保存相册：优先用 Picker，少申请权限]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164299495</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164299495</guid><author>magicZYJ</author><pubDate>Wed, 02 Sep 2026 16:05:02 +0800</pubDate><description><![CDATA[头像、图片上传、拍照和保存相册是很多 App 都会遇到的功能。本文整理 HarmonyOS 中图片选择、系统相机拍摄、URI 处理以及保存相册的基本思路，并讨论什么时候使用系统 Picker，什么时候才有必要自己接入完整相机能力。]]></description><category></category></item><item><title><![CDATA[HarmonyOS 权限申请完整流程：声明、检查、请求、拒绝后二次授权]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164255564</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164255564</guid><author>magicZYJ</author><pubDate>Tue, 01 Sep 2026 10:59:59 +0800</pubDate><description><![CDATA[权限开发最麻烦的往往不是弹出授权框，而是用户拒绝之后怎么办。本文完整梳理 module.json5 权限声明、AtManager、权限状态检查、首次请求以及拒绝后的处理流程，同时讨论哪些场景其实可以通过系统 Picker 避免申请额外权限。]]></description><category></category></item><item><title><![CDATA[HarmonyOS 本地存储怎么选：Preferences、PersistentStorage、文件和关系型数据库]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164255504</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164255504</guid><author>magicZYJ</author><pubDate>Tue, 01 Sep 2026 10:58:53 +0800</pubDate><description><![CDATA[Preferences、PersistentStorage、文件和关系型数据库都能保存数据，但适合的场景完全不同。本文从用户设置、UI 状态、大文件以及结构化业务数据几个典型需求出发，对比 HarmonyOS 常见本地存储方案，并给出一套简单实用的选型思路。]]></description><category></category></item><item><title><![CDATA[HarmonyOS 网络请求实战：HTTP GET、POST、JSON 解析和请求销毁]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164204705</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164204705</guid><author>magicZYJ</author><pubDate>Mon, 31 Aug 2026 09:19:49 +0800</pubDate><description><![CDATA[HarmonyOS 怎么发送 HTTP 请求？本文从网络权限开始，分别实现 GET、POST 和 JSON 数据处理，同时讨论为什么网络请求不应该全部堆在页面代码里，以及请求完成后资源为什么要及时释放，为后续封装统一网络层打基础。]]></description><category></category></item><item><title><![CDATA[HarmonyOS Navigation 实战：NavPathStack 跳转、传参、返回和路由表一次讲清]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164204685</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164204685</guid><author>magicZYJ</author><pubDate>Mon, 31 Aug 2026 09:19:04 +0800</pubDate><description><![CDATA[这篇开始真正使用 Navigation 搭建页面导航。内容覆盖 Navigation 根容器、NavDestination、NavPathStack、页面 push、返回、参数传递以及系统路由表配置，把一个真实项目里最常见的 Navigation 使用流程完整串起来。]]></description><category></category></item><item><title><![CDATA[HarmonyOS 页面跳转到底用 router 还是 Navigation？新项目我为什么直接选 Navigation]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164174106</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164174106</guid><author>magicZYJ</author><pubDate>Sat, 29 Aug 2026 22:40:25 +0800</pubDate><description><![CDATA[router 写起来简单，Navigation 看起来却复杂不少，那么新项目到底该怎么选？本文从导航栈管理、页面解耦、复杂项目维护以及平板、折叠屏适配等角度对比两种方案，并解释为什么新的 HarmonyOS 项目更适合围绕 Navigation 构建页面导航。]]></description><category></category></item><item><title><![CDATA[HarmonyOS UIAbility 生命周期：onCreate、onWindowStageCreate、onForeground、onBackground 怎么分工]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164174101</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164174101</guid><author>magicZYJ</author><pubDate>Sat, 29 Aug 2026 22:39:22 +0800</pubDate><description><![CDATA[UIAbility 是 HarmonyOS 应用运行过程中非常重要的一层。本文通过一个典型 EntryAbility，梳理 onCreate、onWindowStageCreate、onForeground、onBackground、onDestroy 的触发时机，并说明初始化、窗口加载和前后台切换逻辑分别适合放在哪个阶段。
]]></description><category></category></item><item><title><![CDATA[HarmonyOS 页面生命周期完整梳理：aboutToAppear、onPageShow、onPageHide 别再混着用]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164144909</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164144909</guid><author>magicZYJ</author><pubDate>Fri, 28 Aug 2026 13:44:02 +0800</pubDate><description><![CDATA[aboutToAppear、onPageShow、onPageHide 看起来都和页面显示有关，但触发时机和适合处理的业务并不一样。本文把组件生命周期和页面生命周期拆开讲，并结合页面进入、返回、切后台等场景，说明数据刷新、状态恢复等逻辑应该放在哪里。]]></description><category></category></item><item><title><![CDATA[ArkUI 布局入门：Column、Row、Stack、Flex 什么时候用最合适]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164144894</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164144894</guid><author>magicZYJ</author><pubDate>Fri, 28 Aug 2026 13:43:13 +0800</pubDate><description><![CDATA[ArkUI 页面基本离不开 Column、Row、Stack 和 Flex。本文不只是介绍几个组件的 API，而是从实际布局场景出发，说明纵向排列、横向排列、元素叠加和弹性布局分别应该怎么选，同时整理一些尺寸和布局中很容易踩到的问题。]]></description><category></category></item><item><title><![CDATA[ArkTS 和 TypeScript 到底有什么区别？不是把 .ts 改成 .ets 就完了]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164118314</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164118314</guid><author>magicZYJ</author><pubDate>Thu, 27 Aug 2026 15:05:19 +0800</pubDate><description><![CDATA[ArkTS 看起来很像 TypeScript，但真正写起来会发现不少 TS 中习以为常的写法在 ArkTS 中并不合适。本文结合 any、对象字面量、动态属性、类型转换等常见场景，聊清楚 ArkTS 为什么更强调静态类型和编译期确定性。]]></description><category></category></item><item><title><![CDATA[HarmonyOS 项目目录结构看这一篇就够：entry、module.json5、build-profile.json5 到底管什么]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164118286</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164118286</guid><author>magicZYJ</author><pubDate>Thu, 27 Aug 2026 15:04:26 +0800</pubDate><description><![CDATA[刚打开 HarmonyOS 工程时，AppScope、entry、resources、module.json5、build-profile.json5 很容易让人看懵。本文从一个最小工程出发，逐个说明这些目录和配置文件分别负责什么，以及日常开发真正需要重点关注哪些位置。]]></description><category></category></item><item><title><![CDATA[从零创建第一个 HarmonyOS 应用：DevEco Studio + ArkTS 快速上手]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164088913</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164088913</guid><author>magicZYJ</author><pubDate>Wed, 26 Aug 2026 15:20:51 +0800</pubDate><description><![CDATA[第一次接触 HarmonyOS 开发，先别急着研究复杂 API。本文从 DevEco Studio 开发环境开始，带你创建第一个 ArkTS 工程，认识基础代码结构，并介绍真机、模拟器的选择以及新手最常遇到的编译问题，适合作为鸿蒙开发的第一篇入门文章。]]></description><category></category></item><item><title><![CDATA[HarmonyOS Release 构建安全：ArkGuard 混淆、签名配置与秘密管理]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164087359</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164087359</guid><author>magicZYJ</author><pubDate>Wed, 26 Aug 2026 14:08:00 +0800</pubDate><description><![CDATA[Release 包能生成不代表发布流程安全。混淆无法保护配置文件中的密码，签名材料也不应该进入仓库。本文从 ArkGuard 能力边界、保留规则、签名配置隔离、产物管理和泄露响应五个方面整理个人开发者发布实践。]]></description><category></category></item><item><title><![CDATA[声明支持 phone、tablet、2in1 之后：HarmonyOS 多设备适配实战清单]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164050197</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164050197</guid><author>magicZYJ</author><pubDate>Tue, 25 Aug 2026 11:11:42 +0800</pubDate><description><![CDATA[在 `module.json5` 中写入三种 `deviceTypes`，只表示安装范围，不代表界面已经适配。本文以一款五 Tab 日记 App 为例，从窗口断点、导航形态、内容宽度、键鼠焦点和测试矩阵拆解“一次开发，多端部署”的实际工作量。]]></description><category></category></item><item><title><![CDATA[从单文件 MVP 到分层架构：ArkUI 应用如何安全拆分而不破坏功能]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164050057</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164050057</guid><author>magicZYJ</author><pubDate>Tue, 25 Aug 2026 11:08:52 +0800</pubDate><description><![CDATA[第一版把五个 Tab、弹窗和状态都放进一个 ArkUI 页面，开发速度很快；功能稳定后，文件会逐渐变成维护瓶颈。本文以真实项目为例，讨论何时拆分、按什么顺序拆分，以及如何避免重构后状态不刷新和数据语义漂移。]]></description><category></category></item><item><title><![CDATA[用 Node 脚本做 HarmonyOS 发布前静态自检：把项目约束写成代码]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164013141</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164013141</guid><author>magicZYJ</author><pubDate>Mon, 24 Aug 2026 09:20:40 +0800</pubDate><description><![CDATA[很多上架问题并不是复杂 Bug，而是 Bundle ID 改错、三语言漏 Key、权限意外增加、图标被占位文件替换。本文展示如何用一个零业务依赖的 Node 脚本，在构建前自动检查 HarmonyOS 项目关键约束。]]></description><category></category></item><item><title><![CDATA[归档、恢复还是删除？HarmonyOS 习惯数据生命周期设计]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/164013093</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/164013093</guid><author>magicZYJ</author><pubDate>Mon, 24 Aug 2026 09:16:00 +0800</pubDate><description><![CDATA[这篇文章探讨了习惯管理应用中归档、恢复和删除功能的设计差异。通过分析用户意图，作者提出需要在数据模型中明确区分三种操作的生命周期影响：归档保留历史但停止统计，恢复重新启用习惯，删除则彻底清除数据。文章详细介绍了对应的数据模型设计、统计计算逻辑及用户界面实现，强调操作语义与数据一致性，并提供了测试清单以确保功能完整性。最终通过对比表格归纳了三种操作的核心差异，指出只有模型、统计和交互文案协同工作，才能实现一致的用户体验。]]></description><category></category></item><item><title><![CDATA[默认数据也要做国际化：稳定 ID、legacyNames 与旧版本兼容]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/163990055</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/163990055</guid><author>magicZYJ</author><pubDate>Sun, 23 Aug 2026 08:21:06 +0800</pubDate><description><![CDATA[界面文案可以从资源文件读取，但“首次启动自动创建的默认习惯”一旦写入磁盘，就变成了长期数据。本文讲解如何分离稳定身份与显示名称，并处理多语言切换、快速添加去重和早期版本兼容。]]></description><category></category></item><item><title><![CDATA[HarmonyOS SymbolGlyph 实战：从 Unicode 字符迁移到语义化系统图标]]></title><link>https://blog.youkuaiyun.com/magicZYJ/article/details/163990040</link><guid>https://blog.youkuaiyun.com/magicZYJ/article/details/163990040</guid><author>magicZYJ</author><pubDate>Sun, 23 Aug 2026 08:17:00 +0800</pubDate><description><![CDATA[用“☀、☾、✓”做原型很快，但一旦进入多语言、字体差异和持久化场景，Unicode 图标会暴露大量问题。本文结合一个真实 ArkUI 项目，讲清楚如何用稳定语义 Key、系统 Symbol 和旧数据迁移建立可维护图标体系。]]></description><category></category></item></channel></rss>