基于Flutter跨平台记账软件的设计与实现

2023-08-26 19:27张安妮叶文青吕洵任予行
电脑知识与技术 2023年21期
关键词:跨平台

张安妮 叶文青 吕洵 任予行

关键词:Flutter;跨平台;OCR;记账软件

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2023)21-0058-03

0 引言

记账是理财的首要步骤之一,有助于控制收支情况和实现财富的增值保值[1]。生活中的消费提高,国民对财务的管理更加重视, 随着移动端的快速发展,记账软件也开始向移动平台转移。由于移动设备的便携性和使用率,越来越多的人选择使用手机记账软件,现在市面上手机记账软件功能已经很全面,但是大多数的记账App都需要手工录入才能记账[2]。此外为了提高跨平台开发效率和减少开发成本,跨平台方案被不断提出,也引出了众多跨平台技术,例如uni? app和Flutter等[3]。

基于此本次创新的将OCR技术运用在小票识别中,使用Flutter框架实现跨平台开发,实现一码多用,降低开发成本。服务端采用SpringBoot+Mybatis?plus, 实现前后端开发,提高开发效率。

1 需求分析

1.1 用户调研

本次调研首先将小组成员分为三组,针对青年(19~45岁),中年(45~60岁),老年人(60岁以上)三大用户群进行产品功能创新。青年组数据来源于小红书帖子,本年龄段群体总共有效回答340份,其中男性有54人,占比15.9%,女性286人,占84.1%;中年组数据通过设计调查问卷实现,本年龄段群体总共有效调查202人,主要来自5个省份;老年组数据通过设计调查问卷,共收到78份有效调查结果。

最终统计得到三组功能需求,如图1为青年组功能需求。

1.2 竞品分析

记账软件是一种方便用户记录财务信息的应用程序。目前市面上的记账本软件种类繁多,功能也千差万别[4]。通过对市场上几种主流记账本软件的功能分析,可以帮助开发人员了解当前市场需求,从而制定更加符合用户需求的开发计划。通过分析目前市面上记账本软件的功能差异,可以为开发记账软件提供参考和建议。

目前市面上有不少记账软件包括但不局限于例如随手记、有鱼记账、小青帐、鲨鱼记账。这些主流软件和本软件对比如表1所示。

2 项目创新点及特色

本软件采用Flutter开发跨平台智能记账软件,旨在帮助用户轻松管理个人财务,实现财务自由和生活目标。该软件集成了多种实用功能,包括快速记账、收支明细、数据可视化分析、预算管理等,可以帮助用户全面掌握自己的财务状况。

本软件的核心创意是将记账软件与人工智能技术结合,采用OCR识别票据数据,提供图像增強处理,为用户提供更加智能化的财务管理服务。此外针对老年用户也提供了简约版操作。

3 关键技术

3.1 数据同步

为了实现安卓端和苹果端数据同步,本次将服务端维护的数据存取在阿里云服务器中,用户通过联网即可实现跨平台数据同步。

3.2 OCR 票据识别

随着移动支付的普及,越来越多的消费者选择使用手机扫码支付来完成购物[5]。在这种情况下,商家通常会提供小票来记录购买的商品和金额等信息。然而,传统的手动录入小票信息的方式存在效率低下、容易出错等问题。因此,OCR技术可以自动化地识别小票上的文本信息,提高小票信息的处理效率和准确性,为消费者提供更好的购物体验[6]。

但是,由于文本图片的质量不同,OCR识别的准确性也会受到影响。因此,对于一些低质量的图像,需要进行图片增强处理,以提高OCR识别的准确性。OCR识别小票的流程主要分为以下几步:获取图片、图像预处理、OCR识别、信息解析,即将OCR识别出的文本信息进行解析,如解析商品名称、数量、价格、订单号等信息,最后将数据存储。

在日常生活中,人们所涉及的消费类型多且杂的,仅仅满足一种消费类型是远远不够应对人们的日常生活的。软件在识别火车票、外卖票的基础上,还支持识别出租车票、电子发票、电影票、购物小票、船票等消费小票。技术方面主要选用了合合信息所提供的票据分类接口、国内通用票据识别接口以及商户小票识别接口。

主要实现过程如下:

1) 先对上传的图片进行票据分类,识别出属于哪一类票据。

2) 如果属于购物小票、电影票以及外买票,则调用商户小票识别接口。

3) 对于其他类型的小票,则统一使用国内通用票据识别接口。

对于第2点,主要是出于精确度的考虑,商户小票这一类票据使用国内通用票据识别接口识别出的效果并不是特别理想,所以单独提出来使用专用的商户小票识别接口进行处理,提高数据的准确性。对于第3点,其他类型接口使用国内通用票据识别接口识别后,根据识别结果中的type值判断对应的消费类型,找到所属的消费类型后,再进行金额、创建时间等消费信息的提取处理。

综上,OCR录入消费信息总体流程如图2所示:

3.3 批量图像导入

为了方便用户快速地将多张图片中的账单信息批量导入记账软件,减少手动录入的时间和工作量。本次在前端实现了通过图片识别技术,自动识别图片中的账单信息,并将其转化为数据存储在记账软件中,以提高记账效率和准确性。

1) 初始化阶段:在组件初始化的时候,会根据传入的参数进行一些初始化操作。例如,如果传入了一个item,那么会根据item的值设置一些文本框的初始值,并将图片的路径列表images赋值为item中的ima? geUrl字段的值。

2) 选择图片阶段:在点击floatingActionButton 上的image按钮后,会弹出一个图片选择框,用户可以选择多张图片。选择完成后,会将所有图片的路径存储到files列表中。

3) 预处理阶段:在点击floatingActionButton 上的upload按钮后,会遍历files列表中的所有图片,针对每一张图片,调用写好的ocr方法进行图片识别。ocr方法返回一个Map类型的数据,其中包含了图片中的一些信息,例如商品名称、价格等。

4) 处理阶段:根据ocr方法返回的结果,更新一些文本框的值同时,会将所有识别出的商品信息保存到数据库中,以便后续的查询和统计。

5) 清理阶段:在处理完所有图片后,会弹出一个成功提示框,告知用户图片上传成功。同时,会将files列表清空,以便下次选择图片。

4 软件具体实现

4.1 系统总体结构图

本软件共分五大模块,其中包括跨平台数据同步、消费信息录入和消费数据的展示与编辑三个基础功能,此外包括一些智能算法的高级功能和针对各种用户需求开发的其他功能。

由于功能较多,下面将展示几个主要功能的实现。

4.2 首页

主界面底部有四个导航欄,分别是主页、详情、报表和发现。主页中间使用时间序来展示用户的收入和支出总数,点击具体日期可查看这一天的收支明细,如图4所示。

4.3 记账

记账的方式有三种,第一可以人工录入消费数据,第二是进行OCR识别,第三是可以批量记账。点击上传图片的按钮,选择拍照或者从相册选择图片,选择是否进行图片增强处理,然后点击图片中的识别按钮,进行OCR识别,最后点击保存按钮来保存消费数据。批量导入界面的右下角有两个悬浮按钮,点击上面一个,可以从相册中选中多选图片导入,再点击下面一个悬浮按钮进行识别,识别出来的消费数据将存储到数据库,并显示在页面上,如图5所示:

4.4 用户信息

在底部导航栏的任意一个界面左滑,打开抽屉界面,主要有以下几个模块,收入类型、支出类型、分析报表、批量导入、切换老年版和登出。左滑打开抽屉,点击抽屉界面的用户名,会进入用户信息界面,在这里可以更改用户名和修改密码,也可以添加个性签名,如图6所示。

4.6 模式切换

切换老年版界面是普通模式的简约版,它去掉了报表界面和发现界面,并且把字体调大了,如图7所示,解决老年人在视觉上可能存在的一些问题,如视力下降、老花眼等,提高软件的可读性和可用性,从而为老年人提供更好的数字体验。

5 结束语

本软件通过对用户和市场进行调研,开发了一款跨平台的智能记账软件。本软件创新性地实现了跨平台的财务管理服务,具备OCR智能记账功能,并为面向更多年龄层而推出了简约版模式,同时还积极推广品牌,成为全面、便捷的财务管理解决方案。在软件中,用户可以轻松管理自己的财务,包括收入、支出等方面。该软件不仅具有快速记账的功能,还提供了数据可视化分析,帮助用户更好地了解自己的财务状况。特别是为了提高记账效率,开发者提高了OCR录入,为了确保准确性和稳定性,采用了分类识别的方法,根据不同类型的票据调用不同的接口进行识别,此外也利用OCR实现了批量图片的导入,做到无痛快速记账。

猜你喜欢
跨平台
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
一款游戏怎么挣到全平台的钱?
跨平台APEX接口组件的设计与实现
基于C++语言的跨平台软件开发的设计
一种虚拟现实应用程序跨平台方法的研究
基于QT的跨平台输电铁塔监控终端软件设计与实现
基于OPC跨平台通信的电机监测与诊断系统
基于B/S的跨平台用户界面可配置算法研究
基于C++语言的跨平台软件开发的设计