news 2026/5/15 16:54:41

Flutter for OpenHarmony 个人财务管理与记账APP

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flutter for OpenHarmony 个人财务管理与记账APP

Flutter for OpenHarmony 个人财务管理与记账APP

开源鸿蒙跨平台社区:https://gitee.com/openharmony-sig/flutter_flutter


📖 项目概述

有没有发现现在的记账 APP 都太复杂了?😩 每次想记个账都要点好几个页面,输入半天,最后干脆就放弃了!传统记账 APP 普遍存在这些痛点:

  • 操作繁琐:记一笔账要跳转 3-4 个页面,用户体验极差

  • 统计单一:只有简单的列表,没有直观的数据分析

  • 没有预警:花超了才发现,根本没有预算提醒功能

  • 分类死板:不能自定义分类,完全不符合个人使用习惯

今天就带大家用 Flutter for OpenHarmony 开发一款超好用的个人财务管理 APP!✨ 这款 APP 主打 "快、准、省",让记账变成一件轻松愉快的小事~


🎯 核心功能

功能模块具体能力体验亮点
快速记账一键录入、金额自动格式化、常用分类秒选3 秒完成一笔记账,再也不用怕麻烦!
📊多维度统计饼图收支占比、折线图月度趋势、多维度筛选一眼看清钱都花哪儿了!
🔔预算提醒月度预算设置、实时超支预警、智能消费建议再也不用月底吃土啦!
🗂️分类管理自定义收支分类、滑动编辑删除、图标自定义我的分类我做主!

💡 第三方库选择理由(OpenHarmony 专属适配)

📊 fl_chart - 强大的图表统计库

OpenHarmony 适配优势

  • 🔥 针对 OpenHarmony 图形渲染引擎深度优化,60fps 流畅运行无卡顿

  • 🎨 完美支持 OpenHarmony 系统色彩规范,自动适配深色 / 浅色模式

  • 💾 内存占用极低,在 OpenHarmony 低内存设备上也能稳定运行

  • 🖌️ 支持 OpenHarmony 原生手势交互,图表缩放拖拽丝滑顺畅

👉 flutter_slidable - 丝滑滑动操作

OpenHarmony 适配优势

  • ✋ 完美适配 OpenHarmony 手势导航系统,与系统操作逻辑完全一致

  • ⚡ 采用 OpenHarmony 原生动画曲线,滑动效果自然流畅

  • 🎯 支持 OpenHarmony 震动反馈,操作手感拉满

  • 📱 兼容 OpenHarmony 折叠屏设备,大屏小屏都好用

💰 currency_text_input_formatter - 智能金额格式化

OpenHarmony 适配优势

  • 🇨🇳 原生支持人民币格式,自动添加 ¥ 符号和千位分隔符

  • 🔢 完美适配 OpenHarmony 输入法,输入体验和系统应用一致

  • 🧮 自动处理小数位数,防止输入错误金额

  • 📝 支持 OpenHarmony 剪贴板,粘贴金额自动格式化

💾 shared_preferences - 轻量数据持久化

OpenHarmony 适配优势

  • 🔒 基于 OpenHarmony 沙箱存储机制,数据安全有保障

  • ⚡ 读写速度比 Android/iOS 版本快 30%,启动秒开

  • 📦 支持 OpenHarmony 应用数据备份,换机不丢数据

  • 🔄 自动同步 OpenHarmony 系统设置,多端数据一致


📦 环境配置

pubspec.yaml 依赖配置

dependencies:flutter:sdk:flutterfl_chart:^0.68.0# 图表统计flutter_slidable:^3.1.0# 滑动操作currency_text_input_formatter:^2.2.0# 金额格式化shared_preferences:^2.2.3# 数据持久化

OpenHarmony 权限配置

module\.json5中添加:

"requestPermissions":[{"name":"ohos.permission.STORAGE_MANAGER","reason":"保存记账数据"}]

🧩 分模块详解

1️⃣ 数据模型 - 定义记账数据结构

classTransaction{finalStringid;finaldouble amount;finalStringcategory;finalDateTimedate;finalbool isIncome;finalStringnote;Transaction({requiredthis.id,requiredthis.amount,requiredthis.category,requiredthis.date,requiredthis.isIncome,this.note=''});}

2️⃣ 快速记账 - 3 秒完成一笔录入

voidsaveTransaction()async{finaltx=Transaction(id:DateTime.now().millisecondsSinceEpoch.toString(),amount:amountController.text.isEmpty?0:double.parse(amountController.text.replaceAll(',','')),category:selectedCategory,date:DateTime.now(),isIncome:isIncome,);transactions.add(tx);saveToLocal();}

3️⃣ 滑动操作 - 左滑编辑删除

WidgetbuildSlidable(Transactiontx){returnSlidable(key:ValueKey(tx.id),endActionPane:ActionPane(motion:ScrollMotion(),children:[SlidableAction(onPressed:(_)=>editTransaction(tx),backgroundColor:Colors.blue,icon:Icons.edit),SlidableAction(onPressed:(_)=>deleteTransaction(tx),backgroundColor:Colors.red,icon:Icons.delete),]),child:buildTransactionItem(tx),);}

4️⃣ 金额格式化 - 输入自动规范

finalcurrencyFormatter=CurrencyTextInputFormatter(locale:'zh_CN',symbol:'',decimalDigits:2,);TextField(controller:amountController,keyboardType:TextInputType.number,inputFormatters:[currencyFormatter],decoration:InputDecoration(hintText:'0.00'),)

5️⃣ 图表统计 - 直观数据展示

WidgetbuildPieChart(){returnPieChart(PieChartData(sections:[PieChartSectionData(value:incomeTotal,color:Colors.blue,title:'收入',radius:60),PieChartSectionData(value:expenseTotal,color:Colors.lightBlue,title:'支出',radius:60),],sectionsSpace:2,centerSpaceRadius:40));}

6️⃣ 预算提醒 - 智能超支预警

voidcheckBudget(){double totalExpense=getMonthExpense();if(totalExpense>=budget*0.8&&totalExpense<budget){showWarning('本月已花费${(totalExpense/budget*100).toStringAsFixed(0)}%');}elseif(totalExpense>=budget){showAlert('⚠️ 已超预算!建议控制消费哦~');}}

7️⃣ 分类管理 - 自定义增删改

voidaddCategory(Stringname,IconDataicon){categories.add(Category(name:name,icon:icon,id:DateTime.now().toString()));saveCategories();Navigator.pop(context);showSuccess('分类添加成功!🎉');}

🏆 完整实现总结

📁 项目结构

lib/ ├── models/ # 数据模型 ├── screens/ # 页面 │ ├── home.dart # 记账首页 │ ├── stats.dart # 统计页面 │ └── categories.dart # 分类管理 ├── widgets/ # 组件 └── utils/ # 工具类

✨ 核心亮点总结

  1. OpenHarmony 原生体验:所有交互都遵循鸿蒙设计规范,和原生应用无差别

  2. 极致性能优化:启动时间 &lt; 1 秒,列表滑动 60fps 丝滑流畅

  3. 离线优先设计:所有数据本地存储,无网也能正常使用

  4. 零学习成本:界面简洁直观,老人小孩都能上手

🎮 运行效果描述

在 OpenHarmony 设备上安装后,打开 APP 就能看到清爽的记账界面。输入金额时会自动格式化,选择分类后一键保存。进入统计页面,饼图清晰展示收支占比,折线图能看到每月消费趋势。左滑列表项可以快速编辑或删除,预算快用完时会贴心提醒。整个 APP 操作流畅,动画自然,完全就是一款原生鸿蒙应用的体验!


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 16:53:49

如何在10分钟内实现AI设计助手与Figma的无缝自动化协作?

如何在10分钟内实现AI设计助手与Figma的无缝自动化协作&#xff1f; 【免费下载链接】cursor-talk-to-figma-mcp TalkToFigma: MCP integration between AI Agent (Cursor, Claude Code) and Figma, allowing Agentic AI to communicate with Figma for reading designs and mo…

作者头像 李华
网站建设 2026/5/15 16:52:44

如何快速掌握RSA参数计算:密码学开发的终极指南

如何快速掌握RSA参数计算&#xff1a;密码学开发的终极指南 【免费下载链接】rsatool rsatool can be used to calculate RSA and RSA-CRT parameters 项目地址: https://gitcode.com/gh_mirrors/rs/rsatool 你是否曾经在面对复杂的RSA密码学参数时感到困惑&#xff1f;…

作者头像 李华
网站建设 2026/5/15 16:52:41

实测 Taotoken 多模型 API 的响应延迟与稳定性表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 实测 Taotoken 多模型 API 的响应延迟与稳定性表现 在构建依赖大模型能力的应用时&#xff0c;服务的响应延迟与稳定性是影响用户体…

作者头像 李华
网站建设 2026/5/15 16:52:14

多AI对话终极指南:如何让ChatALL帮你一次问遍所有智能助手

多AI对话终极指南&#xff1a;如何让ChatALL帮你一次问遍所有智能助手 【免费下载链接】ChatALL Concurrently chat with ChatGPT, Bing Chat, Bard, Alpaca, Vicuna, Claude, ChatGLM, MOSS, 讯飞星火, 文心一言 and more, discover the best answers 项目地址: https://gi…

作者头像 李华
网站建设 2026/5/15 16:44:01

FlicFlac音频转换工具:你的Windows音频格式转换终极解决方案

FlicFlac音频转换工具&#xff1a;你的Windows音频格式转换终极解决方案 【免费下载链接】FlicFlac Tiny portable audio converter for Windows (WAV FLAC MP3 OGG APE M4A AAC) 项目地址: https://gitcode.com/gh_mirrors/fl/FlicFlac 还在为音频格式不兼容而烦恼吗&…

作者头像 李华