基于Android个人理财APP的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
21世纪已经迎来了信息化时代,社会的整体经济水平正在不断发展,人们生活质量得到了极大的提高,对应的日常收入和支出的方式也是多种多样的,面对生活中的种种诱惑,我们需要树立良好的理财观念,对钱财进行合理的管理,做到可以知道每一笔花销或者收入都是因为什么,这样可以让所以这种现象就导致了我们的理财观念十分的不好,这样给我们的物质生活带来了极大的影响,智能化的到来导致智能手机得到广泛普及,所以对于这种现状我们所需要去开发一款个人记账理财软件就是必不可少的。

本系统通过使用Eclipse开发工具进行开发,使用SQLite对账目数据进行管理。

关键词:支出;收入;手机;记账理财系统
目录
第一章绪论 (1)
第二章项目概述 (2)
2.1需求分析 (2)
2.2可行性分析 (2)
2.3本章小结 (3)
第三章概要设计 (4)
3.1设计思想 (4)
3.2设计原则 (4)
3.3系统功能设计 (5)
3.4数据库的设计 (6)
3.5E-R图设计 (7)
3.6本章小结 (8)
第四章个人理财记账本APP详细设计 (9)
4.1账单查询功能模块的设计与实现 (9)
4.2添加支出功能模块的设计与实现 (12)
4.3添加收入功能模块的设计与实现 (14)
4.4软件设置功能模块的设计与实现 (17)
4.5本章小结 (20)
第五章软件测试 (21)
5.1软件测试目的 (21)
5.2软件测试步骤 (21)
5.3软件测试内容 (21)
5.4系统测试结论 (23)
5.5本章小结 (23)
总结 (24)
致谢 (25)
参考文献 (26)
第一章绪论
随着互联网的快速发展我们迎来了智能化时代,智能手机被广泛的使用,手机的功能变得更加强大,通过使用智能手机可以研发出更多丰富人们生活的应用软件。

安卓操作系统的手机应用平台是使用率较高的一款手机平台。

在对Android系统的应用软件进行开发时十分的灵活,记账本应用软件就是基于Android系统进行开发设计出来的一款功能实用性较强的APP应用软件。

在人们的生活中时时刻刻的都离不开消费,随着人们生活质量得到不断提高的同时,对于生活质量也正变得越来越重视,在生活中人们由于平时很多的盲目消费导致最后一些账目对不上给人们带来一些烦恼,这些原因影响了我们生活中的品质,如何养成良好的理财观念是当前需要重视的问题,拥有好的理财观念可以让我们在生活中进行理性消费,良好的理财观念可以让的财务状况一直保持在良好的状态下,所以本次开发设计的理财记账本的应用软件在生活中是十分重要的、必不可少的,本软件开发的目的就是为了方便人们进行管理自己的财务。

第二章软件分析
2.1需求分析
在移动智能手机得到了普及之后,手机应用软件变得越来越多,而本次开发的应用软件在使用人群方面是相当广泛的,在这个经济快速发展的时代,每个人每天都有高额的支出消费,在这个快节奏的社会,要想记住每天的任何一笔消费都是很困难的,传统的记账的方法是通过手写的方式来进行记录自己的消费记录,然后按照月或者是年来使用计算器进行算出总共的金额等,在信息化时代,传统的记账方法已经慢慢的被手机智能应用软件淘汰,通过使用记账本APP软件APP,对自己每天的花销或者是收入进行记录,不仅可以随时随地的进行记录还可以直接得出当前一共花销了多少钱,避免手工进行计算的麻烦了,在这样的需求下,理财记账本APP软件的开发正式被我们确定。

使用个人理财记账本APP软件对自己日常的花销或收入进行记录,不仅方便、快捷,而且还可以培养人们有正确的理财观念。

2.2可行性分析
对于个人理财软件APP的需求分别从技术上、经济上、操作上等方面对软件进行可行性分析。

在经济上的可行性:开发理财记账本APP不需要投入较多的人力和物力,只要需要一台电脑就可以进行开发工作了,因此个人理财记账本APP软件在经济上是具有可行性的。

在技术上的可行性:个人理财记账本APP的开发过过程中涉及到的数据量不算太多,对于数据的处理使用SQLiteX具进行处理,使用java语言进行开发,开发程序的电脑配置不需要太高,在电脑中
安装开发环境Eclipse工具变可以对软件进行开发,因此这个应用程序在技术上是具有可行性。

在操作上的可行性:APP的界面设计的简单大方并让人可以简单明了的知道每一个功能的用途,可以让人使用软件变得轻松容易,因此个人理财记账本APP在操作上具有可行性。

2.3本章小结
在毕业设计的第二章节中主要是对个人理财记账本APP软件的功能进行需求分析,并对软件进行可行性分析确定软件开发的可行性。

第三章软件设计
3.1设计思想
通过开发Android系统进行开发设计的个人理财记账本APP,可以进行随时随地的对消费收入进行记录,使用记账本可以让人养成良好的理财观念。

因此开发设计一款个人理财记账本APP软件是很具有意义的。

通过对个人理财记账本APP进行需求分析确定软件的功能,因为是基于Android系统进行开发的,所以开发语言使用Java语言进行开发软件。

3.2设计原则
个人理财记账本APP软件采用的设计模式是MVC模式,软件的使用人群是十分广泛的只要进行消费都可以通过使用此软件对消费进行记录。

对于记录账目的软件,在功能方面需要保证在处理数据时候数据的准确性,还需要让使用者在操作的时候容易上手,所以根据上面所说的几点原因,在设计开发个人理财记账本APP软件的时候需要遵循下面所说的几点原则来对软件进行设计。

3.2.1软件的稳定性
要求个人理财记账本APP软件具有稳定性,减少程序出现bug导致程序奔溃,保证APP软件可以稳定的运行。

3.2.2软件便捷性
因为开发的这款个人理财记账本软件是基于Android系统的手
机,安装在手机里进行使用的一款软件可以实现随时随地的进行记录消费或者收入信息,是十分方便快捷的。

3.2.3软件的安全性
在使用软件时,需要保证里账目信息数据统计的准确性,数据计算的正确性,对于软件里面的一些重要数据通过使用MD5加密算法对数据进行加密。

3.3系统功能设计
在系统功能设计章节中主要是对个人理财记账本APP软件里面的功能模块进行系统分析。

软件在整体设计过程中需要进行一些规范化的管理,软件中的功能设计实现模块是整个系统的核心功能模块,因为个人理财记账本APP是一款主要对本地数据进行操作的财务管理软件,所以在系统功能实现功能模块中主要对平时对消费信息和收入信息进行记录,其中包括对信息的添加、信息删除等功能性操作,最终实现将财务信息实现记录。

由于所开发设计出来个人理财记账本APP软件里面所涉及的数据量不太多,主要对收入和消费的数据进行记录并都是通过存储在数据库中进行操作,具体功能框架图如图3-1所示。

个人理财记账本APF




图3-1个人理财记账本功能框架图
3.4数据库的设计
在安卓开发中有四个存储数据的方式,分别是文件存储,SharedPref e rence存储数据方式,ContentProvider存储数据方式,SQLite存储数据方式,我们本次开发中就是用到了SQLite轻量级数据存储方式。

首先需要对数据库进行设计,先确定需要那几张数据表,需要在建的表结构中写入几个字段,通过这些字段来进行数据的修改等具体操作,下面就是对数据库的表结构设计。

①收入信息表
表3-1收入信息数据表结构
字段类型是否为主键允许空
id varchar是不允许
time varchar否不允许
money varchar否不允许
tvoe varchar否不允许
②支出信息表
表3-2支出信息数据表结构
字段类型是否为主键允许空
id varchar是不允许
time varchar否不允许
money varchar否不允许
type varchar否不允许
3.5E-R图设计
①收入ER图
图3-2收入E-R图
②支出ER图
图3-3支出E-R图
3.6本章小结
在毕业设计的第三章节中主要是对个人理财记账本APP软件的设计思想进行简单介绍,并从软件的稳定性等方面介绍软件的设计原则,对系统的功能进行说明并对软件的数据库进行设计,保证数据表结构的合理。

第四章个人理财记账本APP软件功能模块实现
4.1账单查询功能模块的设计与实现
在开始运行个人理财记账本APP软件的时候,进入主界面后默认的功能模块是账单查询功能模块,在账单查询功能模块中可以进行查看今日账单和查看本月账单两个功能模块,点击今日账单Button按钮可以根据当前手机的年月日进行从数据库中进行查找当前日期的账单数据,先进行添加账单的时候需要选择账单的类型,不同账单类型设置不同的图片,收入和支出通过在金额前面加上减号的标示来进行区分,如果在数据库中time字段没有当前日期的数据,账单列表中什么也不显示,如果数据的话数据通过listview列表的形式进行显示,显示的数据包括账单的类别图片、账单的金额,在界面的右下方有一个Text V iew控件,在这个控件中用来显示本月或本日共花费的金额。

在进行查询账单的时候可以通过勾选账单后面的checkBox选择框进行删除的操作,在记录信息的时候出现错误记录后可以通过点击checkBox选择框进行将此条数据通过使用delete语句进行从数据库中删除数据,删除之后进行刷新整个listview列表实现软件界面的刷新。

图4-1个人理财记账本APP软件账单查询功能界面查询账单功能实现核心代码:
super.onCreate(paramBundle);
setContentView(yout.bill_query);
this,group=
((RadioGroup)f indViewByld(R.id.main_radio));
this.tabHost=getTabHost():
Intent bi11Intent l^new Intent0;
billlntentl.setClass(this,
QueryByTodayActivity.class);
this.tabHost.addTab(this.tabHost.newTabSpec("tabHome") .setindicator("tabHome")
.setContent(billlntentl));
this.tabHost.addTab(this.tabHost.newTabSpec("tabMes")
.set Indicator CtabMes*)
.setContent(new Intent(this, QueryByMouthActivity.class)));
this,b-
((RadioButton)findViewById(R.id.radio_buttonO));
this.b.setChecked(true);
this,group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeLi stener()
{
public void onCheckedChanged(RadioGroup
paramRadi oGroup,int paramint)
{
switch(paramint)
{
default:
return;
case R.id.radio buttonO'.
QueryBill.this.tabHost.setCurrentTabByTag(〃tabHome〃);
return;
case R.id.radio_buttonl\
QueryBill.this.tabHost.setCurrentTabByTag("tabMes");
}});
4.2添加支出功能模块的设计与实现
点击添加支出功能模块后可以进入到账目支出记录界面中,在当前界面中我们给出了软件的操作流程,可以根据操作提示进行账目支出的记录。

通过点击选择日期Textview控件的时候会直接弹出时间控件,在弹出时间控件的弹出框中可以进行选择年月日等日期,点击确定Button按钮后将日期赋值给TextView控件并显示出来,点击取消Button按钮直接将弹出框进行关闭,返回到添加支出功能界面。

在消费金额后面的edittext文本框控件中可以输入本次消费的金额,输入的金额长度没有做长度的限制,消费的类型是使用的Spinner控件,通过新建一个list集合然后在此集合中通过使用list,add方法进行添加消费类型的名字,集合的数据是在程序中写死的并不是从数据库表结构读取出来的,在完成以上操作之后通过点击添加账单的Button按钮后弹出一个弹出框分别显示消费类型、消费金额、消费日期,这三种信息都是在之前填写好的通过对对话框里面的信息进行核实,在信息显示没问题后通过点击确定按钮完成账单的添加,添加成功之后会直接显示添加完成的提示信息,点击取消按钮后就关闭当前弹出框可以进行账单信息的更改。

操作提示:
第一步:漏入新消费的金额
第二步:选择新消费的类型
第三步:点击添加账单技钮,添加成功
点击选择日期
消费金额:I
消费类型:日常购物▼
落泅账单
图4-2个人理财记账本APP软件添加支出功能界面
4.3添加收入功能模块的设计与实现
点击添加收入功能模块后可以进入到账目收入记录界面中,在当前界面中我们给出了软件的操作流程,可以根据操作提示进行账目收入的记录。

通过点击选择日期Textview控件的时候会直接弹出时间控件,在弹出时间控件的弹出框中可以进行选择年月日等日期,点击确定Button按钮后将日期赋值给TextView控件并显示出来,点击取消Button按钮直接将弹出框进行关闭,返回到添加收入功能界面。


消费金额后面的edittext文本框控件中可以输入本次消费的金额,消费的类型是使用的Spinner控件,通过新建一个list集合然后在此集合中通过使用list,add方法进行添加消费类型的名字,集合的数据是在程序中写死的并不是从数据库表结构读取出来的,在完成以上操作之后通过点击添加账单的Button按钮后弹出一个弹出框分别显示消费类型、消费金额、消费日期,这三种信息都是在之前填写好的通过对对话框里面的信息进行核实,在信息显示没问题后通过点击确定按钮完成账单的添加,添加成功之后会直接显示添加完成的提示信息,点击取消按钮后就关闭当前弹出框可以进行账单信息的更改。

图4-3个人理财记账本APP软件添加收入功能界面添加收入功能实现核心代码:
new AlertDialog.Builder(this).setTitie("添加一笔新收入?").setMessage("收入类型:"+this.addType+"\n收入金额:"+this,money.getTextO.toStringO+"\n收入日期:"+ this.addDate.getText(). toString0).setPositiveButton("确定”, new Dialoginterface.OnClickListener()
{
public void onClick(Dialoginterface paramDialoglnterface,int paramint)
{
shouru.this.setResult(T);
//AddEvent.this.addPocket();
incomeClass trade-new incomeClass(0, Float.parseFloat{shouru.this,money.getText().toString()),
shouru.this.addDate.getText().toString(), "123”,addType,shouru.this);
trade.trade addO;
Toast,zzza添e7aH(shouru.this,"添力口完成〃,
0).show();
}
}).setNegativeButton C取消”,new
Dialoginterface.OnClickListener()
{
public void onClick(Dialoginterface paramDialoglnterface,int paramint)
{}).showO;
4.4软件设置功能模块的设计与实现
点击软件设置功能模块后可以进入到软件设置界面中,软件设置界面中是由两个Image V iew和两个TextView组成的,是备份数据的功能和查看报表的功能。

点击备份设置功能模块的时候通过查询当前设备是否有SD卡,没有SD卡是无法进行数据备份的,当查询到SD卡后就可以通过查询文件的路径,来实现数据备份的操作,首先需要读取SD卡的源文件,然后对创建备份文件做准备,文件保存的路径为/data/data/com.example,account/databases/account.db,如果在进行数据备份的时候存在当前文件名称,通过在应用程序源文件中设置代码将文件删除后进行备份,如果数据备份失败的话会直接弹出备份失败的提示信息。

点击报表统计功能模块后通过从数据库表结构中进行查找出所有的收入和支出的账单,根据总收入的金额和支出总金额进行绘制饼型图,这样可以直接明了的查看到收入支出所占用的百分比,为人们提供方面。

・■■
添加支出软件设置
O3
备份设置报表统计
图4-4个人理财记账本APP软件设置功能界面
4.5本章小结
本章中主要对系统的实现功能进行介绍,主要对个人理财记账本APP软件所具有的主要功能进行详细的对软件功能如何进行实现进行一系列的说明。

第五章软件测试
5.1软件测试目的
测试软件并发现问题,通过对软件进行测试希望发现软件中存在的问题和缺陷,然后发现的问题进行解决并进一步的完善这个软件,这样就可以让软件变得更加稳定和实用。

5.2软件测试步骤在对软件进行测试的时候需要根据之前编写好的需求文档当做软件系统功能测试的参考文档,对软件中的每一个功能模块都需要进行单元测试,在单元测试通过之后对软件的整体功能进行测试,在测试出问题后及时对软件进行完善并测试,保证软件的准确性。

5.3软件测试内容

对添加收入进行功能测试,详细的测试功能方法如表5.1所示:
表5.1添加收入测试表
功能名称:添加收入功能
操作过程结果不输入信息,点击添加账单按添加失败

选择日期,不输入金额,点击添加失败
添加账单按钮
选择日期,输入金额,点击添添加成功
加账单按钮
②对添加支出进行功能测试,详细的测试功能方法如表5.2所示:
表5.2添加支出测试表
功能名称:添加支出功能
操作过程结果不输入信息,点击添加账单按添加失败

选择日期,不输入金额,点击添加失败
添加账单按钮
选择日期,输入金额,点击添添加成功
加账单按钮
③对删除账单进行功能测试,详细的测试功能方法如表5.3所示:
表5.3删除账单测试表
功能名称:删除账单功能
操作过程结果点击checkBox单选框,点击删除失败
删除按钮
点击checkBox单选框,点击删除成功
删除按钮
5.4系统测试结论
通过对个人理财记账本APP软件进行系统测试和单元测试之后可以保证系统的正常使用,让使用用户可以放心的使用记账本软件。

5.5本章小结
本章中主要对软件的功能模块进行测试,包含了基本功能添加收入账单功能模块测试、添加支出账单功能模块测试、删除账单功能模块测试等,通过使用技术手段来对程序出现的问题进行解决,保证软件的正常运行。

总结
本毕业设计主要介绍了个人理财记账本APP软件系统,这个个人理财记账本APP在经过一开始的需求分析后,经过对记账本APP的功能进行多次研究讨论后确定了APP开发的整体目标,通过参考别当前应用商店已有的记账软件查询学习了解,最终将APP的所有功能模块实现。

在将软件开发完成对APP进行功能测试,保证系统可以正常使用。

因为做毕业设计和编写毕业设计的时间不太充足,加之之前自己所学习的知识没有能够牢固的掌握,在一些细节问题上没有考虑的很全面,导致系统会存在一些不足与欠缺,APP里面的有些功能模块还没有考虑到,对有些功能的实现还不是很完美。

还需要在APP中增加新的功能模块,争取将理财记账本APP的功能做到完善。

在之后的时间中我还会继续对个人理财记账本的功能进行开发和设计,并将发现系统中所存在的问题进行修改和完善,最终的目标就是开发设计出一个功能完整、实用性较高的个人理财记账本APP。

致谢
经过几个月的不懈努力,毕业设计已经基本完成,在这段时间里,我学到了很多宝贵的知识。

在此次设计中,我最想感谢的就是我的指导老师,在选题级完成过程中得到了老师的悉心指导。

在毕业设计的研究及修改过程中,老师多次帮我理清思路,精心点拨,才使设计及毕业设计顺利完成。

感谢我的指导老师们,正是他们以严谨的科学态度,认真负责的教学方法,让我学到了很多专业的知识,其次感谢我的同学们,感谢他们对我的关心和照顾,让我面对问题的时候敢于去面对并将问题进行解决。

参考文献
[1]靳岩,姚尚朗.Android入门开发与实践丽.北京:人民邮件出版社,2012.
[2]李佐彬.Android开发入门与实战体验[M].北京:机械工业出版社,2010.
[3]李胜广,谭林,周千里.安卓APK代码安全保护技术研究[J].警察技术,2017,01:55-58.
[4]杨丰盛.Android技术内幕:系统卷.机械工业出版社(2011-06出版).
[5]余成锋,李代平,毛永华.Android3.0内存管理机制分析[M].计算机应用与软件.
[6]马越.Android的架构与应用[D].北京:中国地质大学,2008:330-357.
[7]杨云君.Android的设计与实现[M].北京:机械工业出版社,2013:45-49.
[8]朱福喜,尹为民,余振坤等.Java语言与面向对象程序设计[M],第2版.武汉:武汉大学出版社,2006. 1:123-130.
[9]聂庆亮.Java应用开发指南[M].北京:清华大学出版社,2010年1月.
[10]朱站立,沈伟.Java程序设计实用教程[M],北京:电子工业出版社,2007.5:82-95.。

相关文档
最新文档