《从零开始的记账本开发》第0篇 背景介绍及软件界面

一、背景

本人计算机专业,在刚结束的前一个学期都在大量的编写代码。在那个学期里学习了Android移动开发、JavaWeb开发以及软件工程,再加上之前学习的数据结构、数据库原理与应用、计算机网络、算法设计与分析。具有强烈愿望去尝试开发一款较为完善的软件,当然仅靠课堂上的知识是远远不够用的,大部分都得自己去查找资料。

由于有三个课程需要实现相关程序,所以我已“软件工程”为指导思想,结合已掌握的技能,开发了一款Android平台的记账本,当然界面和功能要比入门级的好一些,虽然花了大量的时间,但同时解决了三个课程的大作业,也算是大体上完成任务。

二、介绍

  • 本系列文章讲诉的是一个软件开发的大致过程
  • 前面描述文档的编写
  • 后面是代码实现部分
  • 运行平台是Android,代码是Java,软件模式是MVVM

本系列文章并没有深奥之处,只是记录一个菜鸟怎样从整体上笨手笨脚地把握一个软件的开发

三、开发前的预热

开发软件前总得找个为什么。或是他人提出的要求,亦或是自己的一个想法。当然我的是后者,也包含了课程老师的一些要求。结合各个课程老师的作业要求,我设计的是一个Android平台的记账本,也许你觉得很low,但是这是一个具有完整开发过程的软件。下面是我在开发前一些个人假设的一些功能,有些功能模块未实现

编号

功能名称

功能描述

输入

系统响应

输出

1

注册

使用手机注册为新用户

合法的手机号

查询该手机是否已经注册

①是则提示登录②否则让用户设置密码

2

登录

选择登录则可备份数据到云端或恢复数据到本地

用户手机号和密码

查询服务器数据库验证账号密码,限制同一设备的响应次数

①验证成功,将云端数据下载到本地,如果本地有数据,则提示用户是否将其同步到云端②验证失败,如果账号不存在则提示不存在该用户,如果密码错误,则提示密码错误

3

插入流水记录

插入流水的类别(支出或收入)时间、类型(购物、工资等)、数额、描述

完整的单条流水信息

验证数据完整性和合法性,插入数据库,并返回主页更新界面

如果数据不完整Toast提示用户输入缺少项,插入失败,则提示失败的原因;插入成功,返回主页,第一行显示刚插入的信息

4

编辑流水记录

编辑流水的类别(支出或收入)时间、类型(购物、工资等)、数额、描述

点击某条流水记录

从数据库读取该条记录

进入流水编辑界面

5

删除流水记录

删除单条流水的全部信息

左右滑动删除,可撤销

从数据库删除该条记录

Snackbar显示删除了一条记录,如果选择了多条,则显示具体数值的,并提供撤销按钮

6

按时间、类别显示

通过指定时间区间、类别来筛选数据库信息

通过操作设置好的筛选控件

按条件查询数据库

显示符合用户筛选条件的记录

7

图表分析统计

图形显示各种类型占比

通过操作设置好的筛选控件

按条件查询数据库

饼状图,折线图显示符合用户筛选条件的记录

8

云端同步

特定行为,时间间隔等将会触发本地数据与服务器同步

程序开始运行,用户记录数量达到特定值,距上次同步时间达半小时

本地数据与云端进行比较,云端采用类似版本控制来存储

在用户信息界面显示上次同步时间

 

四、最终产品展示

1、登录注册界面(第三方模板)

注册页面:创建账户,如果用户名已注册则提示登录,重复密码不一致,使用toast提示,注册成功跳转到登录界面。

登录页面:账号密码通过验证即可进入APP操作,账号密码不匹配则会有相关toast提示。

wastebook_login

2、账单列表显示界面

该界面显示账单的标签、类型、数额信息、统计信息,功能包括按条件筛选账单、滑动删除账单,可撤销、点击账单条目进入编辑界面、点击添加图标可进入账单添加界面、可按标签或备注来搜索相关账单。

3、账单添加界面(借鉴第三方)

该界面包含支出、收入两个子页,其下有相关具体的标签信息,页可点击设置跳转到标签页面。在添加账单信息时,时间会自动获取为当前的时间,也可点击自行修改,不能修改为未来的日期,可具体到小时和分钟。添加备注信息时,会通过弹窗提示用户输入。

4、账单图形统计显示界面

该界面显示各种类别的占比,通过点击顶部按钮来选择时间范围,默认为近一个月,支出和收入两大类别的信息显示可通过图表的下方两个按钮来实现,最后下方会按金额从大到小来显示具体单笔账目。

5、账单编辑界面

该界面可查看点击账目的详细信息,其中包括备注信息,可在此界面删除该账单,删除成功后会有相关提示信息,并返回主界面。点击编辑会跳转到添加界面,并把该账单信息自动填写到添加界面的相关位置。

6、标签列表界面

该界面显示标签的名称和其对应的图标,功能包括拖拽排序标签、其影响账单添加界面里的标签顺序、滑动删除标签,可撤销、点击添加图标可添加新的标签、点击标签可查看该标签下的所有账单信息和相关统计信息。

7、个人信息和预算设计界面

包含用户的用户名和账单的总记录数,功能包括添加年预算和月预算、退出登录和其他的一些应用版本开发者人口信息。

8、工程目录结构

该项目遵循主流的设计结构划分。adapters目录下包含了账单、标签的列表显示适配器;data目录下包含了实体类,及数据库操作的接口;login目录下为注册登录代码;UI下分为五部分,其中detail、chart、person为底部导航可直达界面,add、category通过detail界面里的图标触发跳转或其他界面的按钮来跳转;utils为工具类,封装一些复用的静态方法,包含时间格式转换,时间选择器,饼状图属性设置等。详细结构如下图:

五、后记

欲知后续具体开发,请耐心等候作者更新!谢谢!

《从零开始的记账本开发》第1篇 需求分析

《从零开始的记账本开发》第2篇 概要设计

《从零开始的记账本开发》第3篇 代码实现

  • 10
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 记账本应用是一种帮助人们记录、管理个人财务的工具。它的目的是帮助人们更好地理解自己的花费情况,并帮助他们做出更明智的财务决策。记账本应用可以让人们轻松地记录支出和收入,并通过图表和报告功能帮助人们更直观地了解自己的财务状况。记账本应用也可以提供计划功能,帮助人们制定财务计划并跟踪进度。总之,记账本应用是一种有助于人们更好地管理个人财务的工具。 ### 回答2: 记账本app开发的项目背景是为了满足人们日常生活中对个人财务管理的需求。随着社会经济的发展和人们生活水平的提高,人们越来越关注个人财务的管理和规划。然而,传统的记账方式如纸质账本或电子表格已经不能满足人们对财务管理的需求。 记账本app开发项目旨在提供一个便捷、高效且安全的个人财务管理工具,帮助人们轻松记录和管理收入、支出以及资产。通过使用该记账本app,用户可以随时随地记录和查看自己的财务数据,快速了解自己的收支情况和财务状况。 此外,记账本app还提供了多种功能和特点,如自动分类、统计分析、预算管理和数据备份等。用户可以根据自己的需要自定义分类和预算,通过统计分析功能了解自己的消费习惯和理财状况,进而制定合理的财务规划和预算控制。 另外,记账本app还注重用户的隐私和数据安全。采取了多种安全措施与加密技术,确保用户的财务数据不会被泄露或被他人恶意使用。 综上所述,记账本app开发项目背景是为了满足人们对个人财务管理的需求,提供一个便捷、高效且安全的财务管理工具,帮助用户更好地管理和规划个人财务。 ### 回答3: 记账本app是一种便捷的手机应用程序,用户可以通过它来记录和管理个人或企业的收入和支出情况。开发这个项目的背景主要是出于以下几个原因。 首先,随着社会的发展和人们生活水平的提高,人们的收入和支出额度越来越大。传统的纸质记账本已经无法满足人们高效、准确地记录和管理财务的需求。因此,开发记账本app成为一种刚性需求,以方便人们随时随地进行记账操作。 其次,记账本app能够实时分析和统计用户的收入和支出情况,为用户提供个人财务的分析和预测功能。通过这些功能,用户可以更好地了解自己的财务状况,合理规划和调整自己的消费习惯,以便更好地实现财务目标。 此外,记账本app开发背后还有商业机会和盈利模式。通过为用户提供增值服务,比如数据备份、报表生成等高级功能,可以吸引更多用户使用并愿意付费。同时,记账本app可以通过广告投放、推广合作等方式来实现商业化运营,从中获得商业利润。 最后,记账本app开发也是顺应移动互联网时代的发展趋势。随着智能手机的普及和互联网的快速发展,移动应用程序的使用量和市场需求不断增长。因此,开发记账本app能够满足用户随时随地进行记账管理的需求,同时也能够抓住移动互联网市场的机遇。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值