
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
HarmonyOS 文件开发中,最容易搞混的是 URI 和真实文件路径。本文从 DocumentViewPicker 选择文档开始,介绍文件 URI 的读取方式,以及 filesDir、cacheDir、databaseDir 等沙箱目录的区别,并结合文件导入、导出场景整理一套比较清晰的处理流程。

头像、图片上传、拍照和保存相册是很多 App 都会遇到的功能。本文整理 HarmonyOS 中图片选择、系统相机拍摄、URI 处理以及保存相册的基本思路,并讨论什么时候使用系统 Picker,什么时候才有必要自己接入完整相机能力。

权限开发最麻烦的往往不是弹出授权框,而是用户拒绝之后怎么办。本文完整梳理 module.json5 权限声明、AtManager、权限状态检查、首次请求以及拒绝后的处理流程,同时讨论哪些场景其实可以通过系统 Picker 避免申请额外权限。

Preferences、PersistentStorage、文件和关系型数据库都能保存数据,但适合的场景完全不同。本文从用户设置、UI 状态、大文件以及结构化业务数据几个典型需求出发,对比 HarmonyOS 常见本地存储方案,并给出一套简单实用的选型思路。

HarmonyOS 怎么发送 HTTP 请求?本文从网络权限开始,分别实现 GET、POST 和 JSON 数据处理,同时讨论为什么网络请求不应该全部堆在页面代码里,以及请求完成后资源为什么要及时释放,为后续封装统一网络层打基础。

这篇开始真正使用 Navigation 搭建页面导航。内容覆盖 Navigation 根容器、NavDestination、NavPathStack、页面 push、返回、参数传递以及系统路由表配置,把一个真实项目里最常见的 Navigation 使用流程完整串起来。

router 写起来简单,Navigation 看起来却复杂不少,那么新项目到底该怎么选?本文从导航栈管理、页面解耦、复杂项目维护以及平板、折叠屏适配等角度对比两种方案,并解释为什么新的 HarmonyOS 项目更适合围绕 Navigation 构建页面导航。

UIAbility 是 HarmonyOS 应用运行过程中非常重要的一层。本文通过一个典型 EntryAbility,梳理 onCreate、onWindowStageCreate、onForeground、onBackground、onDestroy 的触发时机,并说明初始化、窗口加载和前后台切换逻辑分别适合放在哪个阶段。

aboutToAppear、onPageShow、onPageHide 看起来都和页面显示有关,但触发时机和适合处理的业务并不一样。本文把组件生命周期和页面生命周期拆开讲,并结合页面进入、返回、切后台等场景,说明数据刷新、状态恢复等逻辑应该放在哪里。

刚打开 HarmonyOS 工程时,AppScope、entry、resources、module.json5、build-profile.json5 很容易让人看懵。本文从一个最小工程出发,逐个说明这些目录和配置文件分别负责什么,以及日常开发真正需要重点关注哪些位置。








