论文部分内容阅读
近年来,移动互联网飞速发展,人们也越来越依赖移动设备。个人收支管理软件也从传统的Excel或基于C/S架构的桌面应用软件转向移动端App,移动互联网时代,使用收支记录应用管理个人开支成为了更好的选择。目前应用市场中收支类App确实可以满足人们日常收支管理的需求,但其在易用性、多设备间数据同步等方面尚有进一步提升的空间。本文开发了一个个人收支管理平台,着眼于移动端应用操作简便、与云端紧密连接的特点,选择当下流行的技术,实现了基于用户收支历史的新收支内容预测功能和数据的云同步功能,使用户能够方便地新增收支项,并保持数据时刻同步到云端而不丢失。本文的主要工作如下:1、在Android客户端的开发上,本文选择了 Kotlin作为开发语言并使用了 MVM设计模式。深入研究Kotlin语言的特性并应用于项目中,提高了开发效率的同时,也增强了应用的健壮性;同时MVVM设计模式倡导的事件驱动编程有利于项目代码的解耦,并提高了代码的可维护性。2、为实现新收支项信息的预测,本文设计了一个简单实用的基于用户历史数据的预测模型,对用户的历史收支项进行搜索和匹配,并对匹配度进行排名,从而得出用户最可能添加的收支,减少用户的输入量,提高了系统的用户体验。3、另外,多设备间的数据同步问题是本文研究的一个难点,通过参考Git版本管理方式,将Git仓库和关系型数据库进行对比分析,把整个数据库看作一个Git仓库,将数据库的表看作仓库中的一个目录,将表中的一行记录看作该表对应目录下的一个文件,使用Git的方式管理一个关系型数据库的数据变更,从而实现数据的同步。考虑到项目的具体情况,本文对Git的功能进行了改进和简化,最终实现了对关系型数据库的版本管理和一定程度的冲突解决,可以应对多设备间的数据同步。4、在云同步服务器上,本文选择了 Node.js作为开发语言与环境,使用了由Express团队打造的Koa框架,充分运用其优雅、简洁、灵活的特点,以及强大的中间件技术,快速构建出简易的云同步服务器。本文的成果证实了针对相应需求,以上方案的可行性,并对Git的工作原理有了一定了解,对关系型数据库的数据同步问题以及搜索相关性排名的方案进行了一定探索。