鸿蒙应用开发实战系列 — 号码助手全栈开发 100 篇
本系列以「号码助手」真实应用为主线,系统讲解 HarmonyOS NEXT 应用开发的每一个关键知识点。
项目源码:entry/src/main/ets/
开源社区:开源鸿蒙跨平台社区

系列结构总览
| 系列 |
主题 |
篇数 |
文章编号 |
| 一 |
项目启航与基础搭建 |
10 |
01–10 |
| 二 |
ArkUI 组件开发实战 |
15 |
11–25 |
| 三 |
数据持久化全解析 |
15 |
26–40 |
| 四 |
核心页面逐一开发 |
20 |
41–60 |
| 五 |
功能进阶与业务逻辑 |
15 |
61–75 |
| 六 |
性能、质量与工程化 |
15 |
76–90 |
| 七 |
完整功能串联实战 |
10 |
91–100 |
系列一:项目启航与基础搭建(01–10)
| 编号 |
标题 |
核心 API / 知识点 |
| 01 |
号码助手是什么?项目概述与开发环境搭建 |
DevEco Studio、SDK 6.1、Hvigor |
| 02 |
ArkTS 语法基础与工程结构解析 |
@Entry、@Component、interface、strict mode |
| 03 |
ArkUI 设计令牌体系构建(颜色/字体/动画) |
AppColors、AppFonts、AppAnimations |
| 04 |
应用配置详解:app.json5 与 module.json5 |
bundleName、abilities、pages 路由表 |
| 05 |
页面路由与参数传递实战 |
router.pushUrl、router.back、params |
| 06 |
应用入口与生命周期管理 |
EntryAbility、onWindowStageCreate、UIAbility |
| 07 |
ArkUI 状态管理:@State、@Prop、@Link |
单向/双向绑定、响应式 UI |
| 08 |
AppStorage 全局状态与跨页面通信 |
AppStorage.setOrCreate、@StorageProp |
| 09 |
Hvigor 构建系统与 HAP 打包全流程 |
assembleHap、签名、oh-package.json5 |
| 10 |
HarmonyOS NEXT 开发常见坑与最佳实践 |
#AARRGGBB、async/catch、子组件 router |
系列二:ArkUI 组件开发实战(11–25)
| 编号 |
标题 |
核心 API / 知识点 |
| 11 |
AvatarBadge 头像徽标组件封装 |
Stack、LinearGradient、@Prop |
| 12 |
StatusBadge 状态标签组件封装 |
Text、fontColor、backgroundColor |
| 13 |
AppListItem 应用列表行组件完整实现 |
@Component、router.pushUrl、AppStorage |
| 14 |
毛玻璃卡片:#AARRGGBB 颜色格式深度解析 |
ArkUI 颜色格式、alpha 通道、CARD/CARD_B |
| 15 |
LinearGradient 线性渐变在 ArkUI 中的应用 |
linearGradient、angle、colors 数组 |
| 16 |
bindSheet 底部弹出面板全解析 |
bindSheet、SheetSize、preferType、dragBar |
| 17 |
bindPopup 气泡弹出与筛选面板 |
bindPopup、Placement、builder 回调 |
| 18 |
Scroll + ForEach 列表滚动实战 |
Scroll、ForEach、key 函数、layoutWeight |
| 19 |
统计卡片组件:数字动效与颜色语义 |
Column、Text、fontWeight、borderRadius |
| 20 |
批量操作栏 UI:选择模式与底部工具栏 |
@State selectMode、selectedIds、Row |
| 21 |
筛选弹出面板:分类/卡号/状态三维筛选 |
Flex、FlexWrap、Chip 样式 |
| 22 |
空状态引导页设计与实现 |
EmptyState、Blank、引导文案 |
| 23 |
三态 UI:loading / error / 正常内容 |
@State loading、loadError、if/else |
| 24 |
ArkUI 动画系统:curves 与 animateTo |
cubicBezierCurve、springMotion、animateTo |
| 25 |
响应式布局:layoutWeight 与自适应尺寸 |
layoutWeight、flexGrow、vp 单位 |
系列三:数据持久化全解析(26–40)
| 编号 |
标题 |
核心 API / 知识点 |
| 26 |
HarmonyOS 关系型数据库概述与 relationalStore |
@ohos.data.relationalStore、S2 安全级别 |
| 27 |
DatabaseService:数据库初始化与表结构创建 |
getRdbStore、executeSql、CREATE TABLE |
| 28 |
CardEntity 数据模型与 CardColor 枚举设计 |
interface、type alias、枚举映射 |
| 29 |
AppBindingEntity 数据模型设计 |
BindingStatus、AppCategory、可选字段 |
| 30 |
SmsCandidateEntity 数据模型设计 |
短信候选记录、source 来源追踪 |
| 31 |
CardDao:卡号增删改查完整实现 |
insert、query、update、delete |
| 32 |
AppBindingDao:应用绑定 CRUD 实现 |
predicates、ValuesBucket、结果集解析 |
| 33 |
SmsCandidateDao:短信候选记录持久化 |
getLong、getString、parseRow 模式 |
| 34 |
批量操作:batchUpdateStatus 与 deleteMany |
IN 条件、事务、回滚策略 |
| 35 |
DAO 层错误处理规范与单元测试 |
try/catch、Hypium、mock 数据库 |
| 36 |
数据查询优化:predicates 链式调用 |
equalTo、orderByDesc、limitAs |
| 37 |
数据统计:countByStatus 聚合查询 |
SQL GROUP BY、StatusCount 接口 |
| 38 |
数据导出与备份:JSON 序列化 |
JSON.stringify、文件写入、backup |
| 39 |
数据导入与恢复:批量插入策略 |
batchInsert、事务、数据校验 |
| 40 |
数据库版本升级:ALTER TABLE 策略 |
version、onUpgrade、迁移脚本 |
系列四:核心页面逐一开发(41–60)
| 编号 |
标题 |
核心 API / 知识点 |
| 41 |
登录页面 LoginPage 完整开发 |
TextInput、Button、路由跳转 |
| 42 |
新手引导页 WizardPage 步骤导航 |
步骤控制、页面动画、引导流程 |
| 43 |
首页 HomePage 整体架构设计 |
@State、onPageShow、overlay |
| 44 |
首页统计卡片:countByStatus 数据驱动 |
async/await、状态数据绑定 |
| 45 |
首页应用列表:筛选与搜索联动 |
getFilteredRows、filter 函数 |
| 46 |
首页批量操作:多选 + 状态变更 + 删除 |
showActionMenu、batchDelete |
| 47 |
首页 FAB 悬浮按钮:条件渲染与导航 |
@Builder overlay、navigate 封装 |
| 48 |
卡号管理页 CardManagePage 开发 |
listAll、ForEach、加载状态 |
| 49 |
添加卡号页 AddCardPage 开发 |
颜色选择器、运营商 chip、表单验证 |
| 50 |
卡号详情页 CardDetailPage 开发 |
编辑模式、状态切换、删除确认 |
| 51 |
添加应用页 AddAppPage 开发(上) |
表单布局、分类分段控件 |
| 52 |
添加应用页 AddAppPage 开发(下) |
bindSheet 卡号选择抽屉 |
| 53 |
应用详情页 AppDetailPage 开发(上) |
加载状态三态 UI、数据读取 |
| 54 |
应用详情页 AppDetailPage 开发(下) |
状态变更、换绑入口、删除操作 |
| 55 |
搜索页 SearchPage 开发 |
TextInput、实时过滤、预填参数 |
| 56 |
粘贴导入页 PasteImportPage 开发 |
文本解析、批量识别算法 |
| 57 |
换绑页 RebindPage 开发 |
卡号选择、换绑确认流程 |
| 58 |
状态列表页 StatusListPage 开发 |
路由参数接收、条件加载 |
| 59 |
备份页 BackupPage 开发 |
导出/导入、文件读写 |
| 60 |
关于页 AboutPage 开发 |
版本信息、链接跳转 |
系列五:功能进阶与业务逻辑(61–75)
| 编号 |
标题 |
核心 API / 知识点 |
| 61 |
卡号颜色主题系统:CardColor 枚举到 hex 映射 |
switch、颜色令牌、动态主题 |
| 62 |
应用分类体系:AppCategory 类型设计 |
type alias、UI 分类选择器 |
| 63 |
绑定状态状态机:BindingStatus 流转规则 |
状态机、流程图、allowable 转换 |
| 64 |
换绑工作流完整实现 |
RebindPage、AppBindingDao.update |
| 65 |
注销工作流完整实现 |
状态变更 + 解绑确认弹窗 |
| 66 |
短信智能解析算法 |
正则表达式、关键词提取 |
| 67 |
批量导入:从短信提取应用绑定 |
SmsCandidateDao、批量 insert |
| 68 |
全文搜索功能:LIKE 查询与高亮 |
predicates.like、关键词高亮 |
| 69 |
粘贴识别:文本解析与应用名提取 |
split、trim、RegExp |
| 70 |
卡号遮码显示:隐私保护实现 |
substring、replace、掩码规则 |
| 71 |
数据统计分析:多维度计数 |
countByStatus、按卡号统计 |
| 72 |
错误处理规范:navigate + toast + loadError |
promptAction、三态 UI 规范 |
| 73 |
页面参数传递:params vs AppStorage 对比 |
router.getParams、StorageProp |
| 74 |
子组件 router 导航:import vs getUIContext |
子组件陷阱、callback 形式 pushUrl |
| 75 |
async/await 在 ArkTS 中的正确姿势 |
try/catch、finally、Promise |
系列六:性能、质量与工程化(76–90)
| 编号 |
标题 |
核心 API / 知识点 |
| 76 |
ArkTS 严格模式:10 大常见编译错误解析 |
arkts-no-untyped-obj-literals、接口声明 |
| 77 |
ArkUI 渲染优化:key 函数与最小重绘 |
ForEach key、@State 粒度控制 |
| 78 |
内存管理:避免闭包陷阱与内存泄漏 |
生命周期、aboutToDisappear |
| 79 |
列表性能:LazyForEach 虚拟化 |
LazyForEach、IDataSource、缓存 |
| 80 |
数据库查询性能分析与索引设计 |
CREATE INDEX、EXPLAIN、查询计划 |
| 81 |
hilog 结构化日志最佳实践 |
hilog.info/error、TAG 规范 |
| 82 |
console + hilog 混合日志方案 |
开发 vs 生产、日志级别 |
| 83 |
单元测试:Hypium 框架实战 |
@HarmonyOSTest、beforeAll、describe |
| 84 |
UI 测试:DevEco Previewer 使用技巧 |
组件预览、热重载、设备模拟 |
| 85 |
应用签名与正式 HAP 打包 |
证书、profile、release 签名 |
| 86 |
代码质量:ArkTS 编码规范清单 |
命名、文件结构、注释规范 |
| 87 |
常见崩溃排查:null 指针与类型断言 |
as 断言、可选链、防御性编程 |
| 88 |
DevEco Studio 高效开发技巧 |
快捷键、模板、代码生成 |
| 89 |
工程模块化:feature 模块拆分策略 |
build-profile.json5、模块依赖 |
| 90 |
CI/CD:本地脚本化构建与自动化测试 |
hvigorw 命令行、shell 脚本 |
系列七:完整功能串联实战(91–100)
| 编号 |
标题 |
核心 API / 知识点 |
| 91 |
完整功能串联:从添加到换绑的全链路 |
端到端流程、数据流追踪 |
| 92 |
实战:数据备份完整流程演示 |
导出 JSON、文件写入、恢复导入 |
| 93 |
实战:短信批量导入完整流程 |
解析 → 候选 → 确认 → 入库 |
| 94 |
实战:多卡号场景管理最佳实践 |
卡号列表 UI、标签体系 |
| 95 |
实战:应用状态批量管理操作 |
批量多选、状态批改、删除 |
| 96 |
HarmonyOS 权限申请实战 |
requestPermissionsFromUser、SMS 权限 |
| 97 |
应用发布:AGC 上架全流程 |
AppGallery Connect、审核要点 |
| 98 |
版本迭代:数据库升级实战案例 |
ALTER TABLE、数据迁移、兼容性 |
| 99 |
用户体验优化:加载动画与触觉反馈 |
animateTo、振动 API、过渡动效 |
| 100 |
系列总结:号码助手技术全景图 |
架构回顾、技术选型复盘、展望 |
图片资源规范
每篇文章至少 1 张图片,存放在 images/ 目录,命名规则:{编号}-{描述}.png
| 图片类型 |
来源 |
示例 |
| 运行截图 |
模拟器 / 真机截图 |
01-app-screenshot.png |
| 架构图 |
draw.io 绘制 |
04-database-er.png |
| 流程图 |
draw.io / Mermaid |
63-status-machine.png |
| 代码效果图 |
DevEco Studio 截图 |
14-color-format.png |
相关资源:
所有评论(0)