实现功能
(1)分类记录日常收入和支出数据,包括金额、用途、日期、分类等信息;能够增加、删除等,可以支持侧滑删除。
(2)显示月、日收支流水记录,显示当月、当日收支总额;
(3)按周、月、年进行汇总形成结果。
(4)具备友好的用户数据输入界面和查询界面。
设计思想
1.1启动页设计
本APP首先设置了一个启动页,启动页用了定时器来实现启动页展示固定时间后跳转应用主页的功能,具体实现逻辑是通过修改entryability里的loadContent路径可以改变应用的入口文件,将其改为SplashPage。然后在SplashPage通过首选项来实现“权限管理”弹窗。
1.2功能页设计
1.2.1收入支出及结余功能:
首先用AccountList来存支出和收入项目的信息,包括项目的支出/收入类型、图片信息、文字信息,用today_outcome和today_income遍历所有的支出/收入项目的金额以展示支出/收入情况,在遍历的同时outC(记录支出份额)/inC(记录收入份额)相应增加,支出/收入类型数组(outType[]/inType[])里相应类型增加,以便在图标统计时用到。用today_earning来记录结余情况,其中this.today_earning=this.today_income-this.today_outcome;
1.2.2图表功能
图表功能在countCum中实现,其中用到了DataPanel数据面板组件,用于将多个数据占比情况使用占比图进行展示。支出和收入各用了一个图来展现不同类型项目的占比情况。
1.2.3查询功能
总共设计了四大类型的查询模式:根据时间查询,根据类型查询,根据备注查询,根据金额查询。其中根据时间查询分为只查某年的所有账单或者自定义查询某个时间的所有账单。通过设置bindMenu弹出菜单可以选择想要的查询模式,用一个数组来存储四种查询方式,定义isType(类型账单),isAll(所有账单),isTime(时间账单)就可以根据用户的点击时间为其赋值,从而跳至并实现相应的功能,在AccountTable中有不同的查询函数,如若isType为1,则调用queryType函数,传入searchText(用户输入的类型)的值从而得到输出。其他类型的查询方法类似。
功能关系图
类的说明和类图
该程序包含2个边界类,1个实体类
“SplashPage”是程序的启动页,“AvdvertisingPage”是程序的广告页,“MainPage”是收支记账功能的实现页面。
UML类图如下: