基于安卓的个人记账管理APP设计与实现范文

(作者:七181时间:2018-11-22 13:54:04)

本科生毕业设计(论文)

 

 

 

   目:基于安卓的个人记账管理APP设计与实现

 

                                                 

 

 

独创性声明

 

本毕业设计(论文)是我个人在导师指导下完成的。文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。特此声明。

 

论文作者签名:              日期:       

 

 

关于论文使用授权的说明

 

本人完全了解福州大学至诚学院有关保留、使用学位论文的规定,即:学院有权保留送交论文的印刷本、复印件和电子版本,允许论文被查阅和借阅;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存论文。保密的论文在解密后应遵守此规定。

 

论文作者签名:             指导教师签名:            日期:    


基于安卓的个人记账管理APP设计与实现

摘要

记账是千百年都流传的事,老一辈的人都有使用算盘记账的经历;后来有了计算器,大家就使用笔和账簿辅以计算结果进行记账;到了二十一世纪的信息化时代,电脑软件的普及,使得大家转向了Excel或是其他一些带有强大分析功能的桌面软件进行电脑记账。然而,以上种种方式,都带有时间、空间的限制,不能做到随时随地的记录,延误了最佳的记账时间,或是需要后期拿出大量时间进行账目的统计分析工作,导致人们的记账习惯不能得以延续下去,功亏一篑,更是达不到规划理财的目的。

现代经济社会中,人们的经济活动频繁,消费种类繁多,在这样的情况下,研究一个专门为日常消费记账的APP已是迫在眉睫。本论文设计的个人记账管理APP不仅方便用户记录收支信息、实现报表分析,总结自己的财务情况,方便人们更加快捷、实时的记录自己的消费情况,而且可供用户记录与管理日常事件。与传统的记账方式相比,本论文设计的个人记账管理APP具有安全性、便携性和实用性等特点。 

本文首先针对个人记账管理APP展开需求分析,其次对个人记账管理APP展开功能分析,最后采用Android、Java和SQLite数据库实现个人记账管理APP。经系统测试,本文设计的个人记账管理APP具有简单鲜明、针对性功能设计和方便快速使用等特征。

 

关键词:记账管理,Adroid,APP


Design and Implementation of Personal Account Management APP Based on Android

Abstract

Speaking of bookkeeping, I believe everyone's mind will come up with a variety of ways of bookkeeping. The older generation had the experience of using the abacus for accounting; later, with the calculator, everyone used pens and ledgers to calculate the results of accounting; by the 21st century information age, the popularity of computer software, Everyone turned to Excel or other desktop software with powerful analysis capabilities for computer bookkeeping. However, all of the above methods are limited by time and space, cannot be recorded anytime and anywhere, delay the best accounting time, or require a lot of time to perform statistical analysis of accounts, resulting in people’s The bookkeeping habits cannot be continued, and they will fail to achieve the goal of planning financial management.

In the modern economy and society, people's economic activities are frequent and there are many types of consumption. Under such circumstances, it is extremely urgent to study an APP that is specifically designed for daily consumption. The personal billing management APP designed in this paper not only facilitates users to record revenue and expenditure information, implement report analysis, summarizes their own financial situation, facilitates people to record their own consumption situation more quickly and in real time, and provides users with the ability to record and manage daily events. Compared with traditional billing methods, personal billing management APP designed in this thesis has the characteristics of security, portability and practicality. The

This article first analyzes the requirements for Personal Bookkeeping Management APP, then analyzes the Personal Bookkeeping Management APP, and finally uses Android, Java, and SQLite databases to implement Personal Bookkeeping Management APP. After system testing, the personal billing management APP designed in this paper has features such as simple and clear, targeted function design and convenient and quick use.

 

Key Words: Ajax, Web Application, Chat System

 


   

1章 绪论 1

1.1 选题背景及意义 1

1.2  国内外研究现状 1

1.3  论文的研究思路 2

1.4  论文的设计与解决方法 2

1)设计语言与结构 2

2)功能解决 2

3)性能解决 2

1-1设计路线图 3

2章 开发环境的介绍和搭建 4

2.1 开发环境的介绍 4

2.1.1 JDK的介绍 4

2.1.2 Eclipse的介绍 4

2.1.3 Android SDK的介绍 4

2.2 开发环境的搭建 4

2.2.1 JDK的安装与环境变量配置 4

2.2.2 Android SDK 与Eclipse的安装与配置 4

2.2.3 Android虚拟机AVD的配置 5

2-1 AVD配置图 5

2-2 AVD界面图 6

3章 个人记账管理APP需求分析 7

3.1  需求分析 7

3.2  可行性分析 7

3.3  APP系统用例图及其分析 8

3-1 APP系统用例图 9

3.4 APP各用例功能描述 9

3.4.1我的收入 10

3-2 我的收入用例图 10

3.4.2我的支出 10

3-3 我的支出用例图 11

3.4.3数据统计 11

3-4 数据统计用例图 12

3.4.4用户管理 12

3-5 用户管理用例图 13

3.4.5系统设置 13

3-6 系统设置用例图 14

4章 个人记账管理APP详细设计 15

4.1  菜单页设计 15

4-1 主界面设计 15

4.2  我的支出功能设计 15

4-2 我的支出设计 16

4.3  我的收入功能设计 16

4-3我的收入设计 17

4.4  数据统计功能设计 17

4-4数据统计设计 18

4.5系统设置功能设计 18

4-5账户管理设计 19

4.6数据库设计 19

4.6.1 APP用户表 19

4-6  用户表 19

4.6.2收入支出数据表 20

4-7 收入数据信息表 20

4.6.3数据统计表 20

4-8数据统计表表 20

5章 个人记账管理APP实现 21

5.1 主界面的实现 21

5-1 主界面 22

5.2 收支添加功能实现 22

5-2  新增支出界面 24

5.3 数据统计功能实现 25

5-3 数据统计 27

5.4 账户管理功能的实现 27

5-4 账户管理页面 29

5.5系统设置功能的实现 29

5-5系统设置页面 31

6章 测试 32

6.1  基本概念 32

6.2  测试步骤 32

6.3  系统测试 32

6.4  功能测试 33

6.4.1账号管理测试 33

6-1 账号管理测试 33

6.4.2收支添加测试 34

6-2 收支添加功能测试 34

6.4.3系统设置测试 35

6-3 系统设置测试内容表 35

    36

参考文献 37

致谢 38

 


1章 绪论

1.1 选题背景及意义

进入到新世纪后,随着社会不断的发展,人们的物质生活也在不断的变好,消费水平也有了很大的提升,尤其是对于年轻人来说,更是喜欢新型的消费,但是这样也是带来了一些坏处,比方说是一些80后和90后只懂得花钱,而在理财上面却比较差,这也给他们的生活带来了很大的麻烦。所以针对于这种情况,很多的有着不同功能的个人理财系统就产生了,不管是电脑上使用还是手机上使用都有。 

Android2007年由Google公司给研发出来的,它在出现以后短短的几年中,就将原本看似完美的塞班系统给取代,成为用的最广的操作系统[4]Android操作系统是将源码开放的,吸引了很多的厂商加入,从而也是有越来越多的人开始用Android手机,如果能设计一个基于Android平台的应用,一定是有很大的用户群体,会被很多的厂商所喜欢推崇。

随着手机和人们生活关系越来越紧密,人们也是对手机中的软件有了很大的需求。因此,记账软件开始应运而生,而用手机软件来记账,有着以下3点重要的意义:

1)记账最为直接的作用就是可以将自己日常的收支情况给摸清,看看自己的收支情况到底是怎样的,收入了多少,各种支出又有多少,都花在了什么地方。这样就能将自己的收支做一个规划,然后考虑如何能更好的理财。

2)“月光族”是一个之前很流行的词,并不是说他们都是挣得钱太少,不够花,而是往往在花钱的时候没有一个好的计划,很随便的就将钱都花完了。而靠着记账就可以把自己以前随便画的钱给记录下来,能将这钱到底是怎样给花出去的搞清楚,将乱花钱给避免了。靠着记账也许用不了多长时间就能实现合理的花钱。

3)记账可以说开始理财的第一步,有了这一步就能让自己对财务有一个更好的敏感,把理财的水平给提高。

1.2  国内外研究现状

这些年智能手机已经是越来越多,在Android推出了以后,就因为它自己所具有的优势而逐渐的把市场份额给扩大,尤其是在国外,可以说是相当的受欢迎,是处在一个蓬勃发展的时候。根据一家美国市场调研机构给出的报告中显示,Android在美国已经是占到了28%的市场份额,苹果就要排在它的后面。而且从一些个业内人士的分析中也是可以看出,随着Android系统中软件数量的增加,越来越多的人会选择用Android作为操作系统的设备[5]

我国学者王秋丽以前曾经发表过一篇文章《财务软件的现状及发展趋势》,在这篇文章里面,她对与我国财务软件的现状做了分析,认为主要有两个特点:在规模上不断的变大,二就是还有市场可以开发。虽然说我国已经有10个年头在发展财务及企业管理软件,市场也从一开始竞争激烈的情况变成了被大型企业所占据的场面。在我国加入了WTO以后,也是让财务软件面临了新的挑战,竞争也是更加的激烈[6]

就个人记账软件来说,在国外的普及率相对国内来说较高,我国要相对的少一些。学者Bruce也是提出了自己的观点,他认为随着信息化的发展,个人记账软件对于数据有了更高的要求,通过对数据进行不断整理与分析的软件将有着更长远的应用[7] 

1.3  论文的研究思路

第一章简单说明研究近况和意义目的;第二章介绍编程语言和开发技术和编译器环境;第三章是应用程序的需求分析,分析其可行性等;第四章为应用的总体设计,对应用有个总体轮廓;第五章是程序的详细设计,即具体的代码编写;第六章是测试,确保其可用性。每一章都相辅相成,构建出完整的论文。

1.4  论文的设计与解决方法

目前的Android应用是相当的火爆,在这样的情况下,来开发出一个基于Android的个人记账应用,一定是可以借助着安卓的优势,来得到很多的用户喜欢与安装。同时因为手机有着便于携带的特点,所以这样就能将软件的使用价值给大大的提高让人们不但是说能够随时随地的来把记账完成,还能更好的帮助人们把不愿意记账的习惯给改善了,早一天帮助他们实现自主理财[8]。小乖记账APP是基于Android平台的,在设计上较为清新,使用起来也是很简单,还有这很强大管理功能,它的出现对于帮助当下的那些个不会理财的年轻人一定是有着很大的意义。根据个人理财实现的实际需求,本系统设计路线图如1-1所示,其解决方法如下:

1)设计语言与结构

在开发的语言上面是使用里当下比较流行的Java,把它和最流行的移动开发技术结合起来,实现小乖记账的开发,更好的将小乖记账的用处给发挥出来。

2)功能解决

在功能上面,小乖记账是要更好的帮助人们来实现自主理财,通过小乖记账中的各个功能,实现消费情况的记录,提醒用户在一天的实现自主理财。

3)性能解决

对于小乖记账来说,不光是要考虑功能上面的实用,还要考虑性能上面的可靠。所以对于小乖记账中最重要的数据部分是用到sqlite来存储数据。

 

 

 

1-1设计路线图

 

 


2章 开发环境的介绍和搭建

2.1 开发环境的介绍

2.1.1 JDK的介绍

JDK Java语言的软件开发工具包。它是作为Java的核心来存在的,在内容上是将Java的类库。运行环境还有工具都给包括了进来。它是为开发Java的程序员而专门发布的开发包[9]

2.1.2 Eclipse的介绍

Eclipse是用来开发Java的平台,在刚开始的时候因为功能上的限制,只能用来开发Java,后来随着功能的扩展,也是可以用来开发其他的一些语言。就Eclipse本身来说,它只是一个框架平台,但是因为一些个外挂程式的使用,让它也是有了很大灵活性[10]

2.1.3 Android SDK的介绍

SDK软件开发工具包Android SDK 指的是Android专属的软件开发工具包。

2.2 开发环境的搭建

2.2.1 JDK的安装与环境变量配置

(1)从网上下载JDK1.6或者JDK1.7版本。

(2)双击文件安装JDK

(3)环境变量的配置:首先在“我的电脑”属性中找到高级系统设置”,然后再找到"环境变量",在环境变量中完成“用户变量”和“系统变量”的配置。在系统变量里点击新建在变量名中输入“JAVA_HOME,在变量值中填入JDK的安装路径;接着新建classpath变量,变量值设为:.; %JAVA-HOME%\lib;% JAVA-HOME\lib\tools.jar,然后双击“系统变量”中存在的path在弹出对话框中添加变量值:%JAVA-HOME%\bin;%JAVA-HOME%\jre\,

最后运行->cmd,输入javac,如果出现用法说明,则表示成功[11]

2.2.2 Android SDK 与Eclipse的安装与配置

在网上搜索adt-bundle-windows并下载。下载完成以后直接安装就可以,此文件中就已经将EclipseAndroid SDK都包括了进去,非常适合新手来做开

2.2.3 Android虚拟机AVD的配置

Eclipse菜单栏中点击Window->Android Virtual Device Manager,在弹出的窗口中点击“new”按钮,在新出现的AVD配置窗口中来将自己想要的AVD创建。如图2-1所示:

 

2-1 AVD配置图

 

 

在将AVD给配置完以后,就可以在创建好的AVD中通过“start”按钮来在弹出的弹出对话框中用Launch按钮来完成第一次启动,因为第一次启动是需要一个比较长的时间,所以需要耐心的等待下。开启成功后如图2-2所示:

 

2-2 AVD界面图

 


3章 个人记账管理APP需求分析

3.1  需求分析

需求分析方面,大致的工作基本可以按照四个方面开始进行,首先是具体的问题识别,然后是对项目进行分析综合,接着制定相应的规格说明,最后进行项目评审。

1)具体的问题识别:对所要做的软件APP进行理解,系统角度是一个很好的方向,从而确定自己要开发的系统的所有要求,然后提出这些要求的能够实现的方式,根据具体的分析来确定项目应该具体达到的一个标准。具体要求包括以下内容:要做什么功能,性能要达到什么标准,项目所要的环境是什么,要有什么程度的可靠性,安全保密性做的怎么样,项目界面要求何如,系统资源使用是否允许,消耗多少软件开发成本,按照什么进度进行开发,所做的项目在之后可以达到怎样的目标。本文指在做一个可以进行简单记账管理的APP,满足单机状态下用户的记账管理需求。

2)对项目APP进行分析综合对项目所需要的软件功能进行分别细化,将各个元素之间的联系从系统之中找出来,并得出APP的特性以及设计上可能出现的限制,对以上内容进行分析,看看是否能对应项目APP需要的要求,将要求中不合理不规则部分找出来,去除这一部分的需求,然后对项目APP需要的功能进行增加。最后,将以上结果进行综合,形成系统最后的的解决方案,同时,将系统进行逻辑模型搭建,给出项目要开发的详细的系统模型。 

3)制定相应的规格说明:编写需求文档,在次环节中,编写的文档也就是制定对应的规格说明书。相应的文档对于相应的需求分析进行说明。 

4)进行APP项目评审:对项目的功能进行评审,包括APP系统功能的正确性,需求功能是否完整,并且判断是否具有清晰性,以及给于系统的其它饱含的需求相应的评价。评审阶段通过后,项目才可以进行接下来的工作,如果项目评审没有通过,就必须对项目重新开始需求分析,重复上几个阶段所做的内容。

本系统主要是设计一个基于安卓平台的个人记账管理功能的APP的设计与开发,需求对象有家庭主妇、学生、在职人员等。家庭主妇主要是用于日常开支如买菜做饭以及衣服、鞋、包等个人物品的开支;学生一般是用于记录零用钱等小型记账;在职人员一般是用于房租、水电费等经济上的开支记账。

3.2  可行性分析

想要弄清是否能够实现所要开发的APP项目,可以实现的项目是否值得对其做研究,因此进行可行性分析是十分重要的。对项目进行可行性分析,从客观看来,这是一次着重简化项目系统分析的一步,同时也减少了系统设计的过程,所以,进行可行性分析是非常重要的,也是十分必要的。通过所设计的最开始的目标,结合所做的实时调查进行可行性分析,能够分析出以下三点: 

1)技术可行性:Android Studio 通过Google公司的不断开发测试已经成为较为成熟的便利的开发环境,基本可以替代以前Eclipse 上安装ADT的开发模式,然后使用Java语言进行系统项目开发[12] 

2)运行可行性:本项目为安卓应用程序,需要安卓虚拟机环境,Android Studio开发环境中有运行该系统所需要安卓虚拟机环境,即AVD,运行稳定,功能丰富,利用它能够很好的进行程序的调试测试。如果不适用,也可用真机usb连接,adb工具可以检测手机进行真机测试,很好的运行程序[13] 

3)法律可行性:所做的项目是自主开发的,所以不会出现侵权等商业问题,在相关法律上来说,这是可行的。通过对项目进行的可行性分析,完全可以用Android Studio进行应用开打,然后使用Java语言进行程序编写。

3.3  APP系统用例图及其分析

由上面的提到的那些个需求分析可以将小乖记账的具体操作和功能给确定下来,进而就可以把系统用例图给确定下来。 

系统用例主要包括我的收入、我的支出、我的便签、数据图表统计、用户管理、系统设置、退出七大功能,其中记账包括添加支出和添加收入;在图表统计里面,是可以选择是按年还是按月来显示的;在系统设置里面应该是把收支类型给添加进去,还有账户的类型等,系统用例图如图3-1所示

 

3-1 APP系统用例图

 

用户通过手机使用APP,进入小乖记账APP后应显示菜单页面,向用户提供七个功能:

1我的支出

该功能主要是让用户能把自己每天的消费支出给记录下来。

2我的收入

该功能主要用于用户对自己每天的收入情况进行记录

3我的便签

该功能主要用于用户对自己需要备忘的事情进行记录

4数据统计

这个是为了让用户可以对自己在某个时间段的收支情况进行一下统计分析。

5账户管理

这个功能是为了让用户能够及时的对自己的信息做一个管理。

6系统设置

用户在该功能中可以进行数据的清空以及收支类型的管理。

7退出

该功能可安全退出系统。

3.4 APP各用例功能描述

为便于用户理解各功能,下面对功能进行详细的描述。

3.4.1我的收入

在我的收入功能中用户可通过新增按钮,创建新的收入条目,包括的内容有金额、时间、类别、地点以及备注。具体实现如图3-2所示。

 

 

3-2 我的收入用例图

 

1)用例名:我的收入 

2)行为者:用户 

3)目的:为的是说让用户能把自己的收入情况给做一个记录,即便以后要看也方便些。

4)简要说明:用户添加新增收入信息或者删除。 

5)过程描述:

1在手机桌面上通过小乖记账的图标来进入到APP中; 

2进入APP主界面后选择“我的收入”进入APP系统记账页面; 

3点击新增,选择记账类型,输入金额,选择时间,选择好收入类型,同时选择好指定账户进行记录; 

4设置完毕,用户数据保存成功。

6)前置条件:登入APP

7)后置条件:添加收入信息或删除收入信息或修改收入信息并保存。

3.4.2我的支出

在我的支出功能中,用户可以通过点击新增按钮,来为自己创建新的支出条目,包括的内容有金额、时间、类别、地点以及备注。具体实现如图3-3所示。

 

 

3-3 我的支出用例图

 

 

1)用例名:我的支出 

2)行为者:用户 

3)目的:为的是说让用户能把自己的指出情况给做一个记录,即便以后要看也方便些。  

4)简要说明:用户添加新增支出信息或者删除。

5)过程描述: 

1 在手机桌面上通过小乖记账的图标来进入到APP中; 

2 进入APP主界面后选择“我的支出”进入APP系统记账页面; 

3 页面上面有新增按钮,在点击这个按钮以后局可以进入到新增页面,然后依次来把记账的类型,花了多少钱,什么时间花的,类型是怎样的来给完成,当然也是要在制定的账户中来完成; 

4 设置完毕,用户数据保存成功。

6)前置条件:登入APP成功

7)后置条件:添加支出信息、删除支出信息、修改支出信息并保存。

3.4.3数据统计

在数据统计功能下用户可以通过点击分类支出统计、分类收入统计和收--支统计对自己在任意时间段中的某一项内容进行统计,并得到图表分析,使自己的收支情况能够更明了的显示,方便为以后的消费做计划。具体实现如图3-4所示。

 

 

3-4 数据统计用例图

 

1)用例名:数据统计 

2)行为者:用户 

3)目的:这部分为的就是说将用户在某一个时间段里的消费信息给分析出来,让用户能够很明显的就把用户、消费和支出这三个之间的关系给看出来。 

4)简要说明:用户选择查看数据统计表。

5)过程描述:

1 点击进入APP系统主界面; 

2 通过点击菜单里面的数据统计来记入到分析的界面里面; 

3 再截面上是会把支出和收入的情况给用曲线来显示出来; 

4 点击系统界面下端的按上个月或者下个月显示图表; 

5 系统显示用户上个月或者下个月支出、收入曲线

6点击收支统计曲线,APP显示收支折线统计图。

6)前置条件:成功登入APP

7)后置条件:用户查看收入统计表或者支出统计表或收支折线统计表。

3.4.4用户管理

在用户管理的功能中,用户可以完成注册、切换用户的功能,还可以进行自己密码的修改,并将当前用户和该用户下的所有数据进行删除,亦可使用APP默认的用户登录来体验小乖记账APP具体实现如图3-5所示。

 

 

3-5 用户管理用例图

 

1)用例名:用户管理 

2)行为者:用户 

3)目的:这部分就是为了能够把用户的信息给收集起来。  

4)简要说明:用户注册,注册成功可修改密码或者切换用户或者删除所有数据。

5)过程说明:

1 点击进入APP系统主界面; 

2 选择主菜单中的账户管理 

3 系统界面显示用户注册、切换用户、修改密码 

4 点击系统界面顶端的用户注册或切换用户或修改密码; 

5 输入用户名、密码、完成注册和修改密码。点击切换用户,输入用户名和密码,确认登录。

6点击修改当前用户和所有数据,点击确认,完成删除。

7点击使用默认用户登录,成功登入默认账号。

6)前置条件:打开APP

7)后置条件:注册登录成功。

3.4.5系统设置

小乖记账为用户提供了系统设置的功能,用户可以通过该功能将收入、支出和便签的数据进行清空的处理,也可对收入、支出的类型进行管理,完成增删改查的功能,若是APP出现问题,亦可进行默认设置的还原以及当前系统信息的查看。具体实现如图3-6所示。

 

3-6 系统设置用例图

 

1)用例名:系统管理 

2)行为者:用户 

3)目的:这部分就是为了预防用户在以后消费和支出类型给发生改变而设计出来的。 

4)简要说明:用户进行清空数据或者修改类型管理。

5)过程描述: 

1 点击进入APP系统主界面; 

2 通过点击菜单里面的系统设置来进入到设置的界面里面; 

3 点击选择收入支出类型管理类型,进入类型添加界面 

4 输入支出和收入类型,点击添加按钮添加支出收入类型;

5 点击清空收入支出或者是便签数据,点击确认,成功删除数据。

6)前置条件:成功登入APP

7)后置条件:清空数据定义类型 

 

 

 

 

 

 

 

 

 

4章 个人记账管理APP详细设计

 

在整个应用编写过程中,详细设计是其中不可或缺的一步。在此环节中,详细设计了此应用系统的代码,下面将依照游戏状态进行设计,并在每个状态中穿插说明系统所用的类和功能。

4.1  菜单页设计

进入到小乖记账APP后,显示MainActivity,在onCreate方法中调用setContentView方法设置显示xiaoguaiView页面,可以看到菜单页,上面有个按钮,分别是我的支出、我的收入、我的便签、数据统计、账户管理、系统设置、退出,分别对应相应的功能。具体主页面设计如图4-1所示。

 

 

4-1 主界面设计

 

4.2  我的支出功能设计

进入到我的支出功能后,在屏幕中会有新增按钮,若是用户已经创建过支出条目,那么还会有已有支出条目显示。点击新增按钮后,进入新增界面,就可出现新增支出条目,在支出条目中可进行金额、时间、类别、地点以及备注共五个具体内容的添加,金额可随意添加,日期选择会出现日历可滚动选择,类别有多项类别可供选择,地点备注可随意添加,点击保存完善该条支出记录,取消则退出。点击已存在条目还可以进行修改,或者删除本条目操作,具体设计流程如下图4-2所示。

 

 

4-2 我的支出设计

4.3  我的收入功能设计

小乖记账APP不光是要对用户的支出情况进行记录,还应将用户的收入情况进行记录,这样才能更好的实现记账功能。在我的收入功能中也是有新增按钮的设计,方便用户实时的将自己新的收入进行记录,若是之前就已经记录过新增收入,那么在顶端会有该条目的显示,在新增功能下有金额、时间、类别、放款方以及备注共五个具体内容可进行编辑。我的收入中金额、放款方、备注可随意添加,时间选择通过日历滚动选择,类别可有多种选择。点击保存则保存成功,取消则退回新增界面,点击已存在条目可进行修改或者删除。具体的设计流程如下图4-3所示。

 

4-3我的收入设计

4.4  数据统计功能设计

用户可以在任意的时间段内,进行该时间段下的收支情况统计,小乖记账APP提供了饼状图以及折线图的统计类型,点击分类支出统计或者分类收入统计,出现饼状统计图,图中各类别已百分比显示,清楚明了。收支统计是折线图统计,可汇总每天的收入或者支出总计,方便用户直观明了的分析自己在该时间段内的收支情况,数据统计图均可以选择时间,具体的流程设计如下如图4-4所示。

 

4-4数据统计设计

4.5系统设置功能设计

在系统设置功能中,主要是为用户设计了清空收入、支出和便签的功能,方便用户对自己不再使用的数据进行删除,选择清空收入或者支出或者便签数据,点击确认即可清除。随着时间的推移,用户的收入支出类型是会有变化,所以在类型上设计了增删改功能,点击收入或支出类型管理可选择添加或者是删除按钮,选择添加会出现添加类型,输入添加类型点击确认。选择已存在类型点击删除即可删除。具体的设计流程如下图4-5所示。

 

 

4-5账户管理设计

4.6数据库设计

4.6.1 APP用户表

APP用户表用于存放登录和注册时所需要的账户信息,包括username(用户名)和password(密码)两个属性,其中的username是该表的主键,每个用户名在该表中唯一对应个密码,用户名不允许重复,验证登陆时用户名和密码必须相匹配。

手机用户表如下表4.1所示:

4-6  用户表

列名

数据类型

可否为空

是否为主键

属性含义

username

Varchar(20)

NOT NULL

用户账号

password

Varchar(20)

NOT NULL

用户密码

 

4.6.2收入支出数据表

收入支出用户表用于存放用户收入支出信息,用于新增信息、修改信息,包括username(用户名)、password(密码)、income(收入)pay(支出)四个属性,其中的username是该表的主键,每个用户名在该表中唯一对应个密码,用户名不允许重复,验证绑定信息时用usernamepassword必须相匹配。

收入支出数据表如下表4-7所示:

4-7 收入数据信息表

列名

数据类型

可否为空

是否为主键

属性含义

username

Varchar(20)

NOT NULL

用户账号

password

Varchar(20)

NOT NULL

用户密码

income

double(20)

   NULL

收入

pay

double(20)

NULL

支出

 

4.6.3数据统计表

数据统计表用于存放收入支出数据信息,用于显示用户收入支出统计百分比,包括username(用户名)、income(收入)、pay(支出)、time(日期)和mony(金额)五个属性。其中username是主属性即为用户数据表统计的主键,它也是该表的外键,来自用户数据统计表即表4.2username属性。

数据统计表如下表4-8所示:

4-8数据统计表表

列名

数据类型

可否为空

是否为主键

属性含义

username

Varchar(20)

NOT NULL

用户账号

password

Varchar(20)

NOT NULL

用户密码

income

double(20)

   NULL

收入

pay

double(20)

NULL

支出

 

 

 

5章 个人记账管理APP实现

5.1 主界面的实现

小乖记账APP的主界面是七个图标,通过点击图标就可实现功能跳转,当用户点击相应的图标时即可进入该功能,在用户点击图标时,应用就会调用About.Java函数,实现了界面的跳转,效果图如图5-1所示,具体的函数代码如下:


public About() {

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.about);

ActivityManager.getInstance().addActivity(this);

usernow=(TextView)findViewById(R.id.useracc);

countpay=(TextView)findViewById(R.id.countpay);

countuser=(TextView)findViewById(R.id.countuser);

countincome=(TextView)findViewById(R.id.countincome);

countnote=(TextView)findViewById(R.id.countnote);

author=(TableRow)findViewById(R.id.author);

description=(TableRow)findViewById(R.id.description);


}

 

 

 

5-1 主界面

 

 

5.2 收支添加功能实现

如下图所示是收支增加界面,可以清晰的看到新增界面由金额、时间、地点、类别、地点、备注组成。点击时间选择框可以跳出时间并自由选择相对应的时间,点击类别选择会跳出金额类别选择,可以清楚明白选择要选择的种类。金额和地点随情况需要添加。备注区是一个小型的备忘录,可以很好的记录有关于收支的情况。我的收入功能已在第四章进行了详细的设计分析,在点击我的收入按钮时,应用会调用Pay.Java函数,实现我的支出功能,效果如图5-2所示,具体代码如下;


protected void onStart() {

super.onStart();

Intent intentr=getIntent();

userid=intentr.getIntExtra("cwp.id",100000001);

ShowInfo(R.id.btnoutinfo);

lvinfo.setOnItemClickListener(new OnItemClickListener()

{

public void onItemClick(AdapterView parent, View view,

int position, long id) {

String strInfo = String.valueOf(((TextView) view).getText());

String strno = strInfo.substring(0, strInfo.indexOf('|')).trim();

Intent intent = new Intent(Pay.this, ModifyInP.class);

intent.putExtra("cwp.id", userid);

intent.putExtra("cwp.message", new String[] { strno, strType });  

startActivity(intent);

}

});

baddpay.setOnClickListener(new OnClickListener(){

public void onClick(View arg0){

Intent intent = new Intent(Pay.this, AddPay.class);

intent.putExtra("cwp.id", userid);

startActivity(intent);

}

});

}

private void ShowInfo(intintType) {  String[] strInfos = null;

ArrayAdapterarrayAdapter = null;

strType = "btnoutinfo";

PayDAOpaydao = new PayDAO(Pay.this);

Listlistinfos = paydao.getScrollData(userid,0,

(int) paydao.getCount(userid));

strInfos = new String[listinfos.size()];

int m = 0;

for (Tb_paytb_pay : listinfos) {

strInfos[m] =tb_pay.getNo()+ " |  " +ptypeDAO.getOneName(userid, tb_pay.getType())

+ "   " + String.valueOf(tb_pay.getMoney()) + "元           "

+ tb_pay.getTime();

m++;

}

arrayAdapter = new ArrayAdapter(this,

android.R.layout.simple_list_item_1, strInfos);

lvinfo.setAdapter(arrayAdapter); }

publicbooleanonKeyDown(intkeyCode, KeyEvent event) {

if(keyCode == KeyEvent.KEYCODE_BACK) {  Intent intent=new Intent(Pay.this,Index.class);

intent.putExtra("cwp.id",userid);

startActivity(intent);

return true;

    }

returnsuper.onKeyDown(keyCode, event);

}

}

 

 

5-2  新增支出界面

 

 

5.3 数据统计功能实现

如下图所示的是数据统计模块是很重要的一个模块。能然用户清晰明白可见的是一定时间内的收入支出统计表。分类收入统计表和分类支出统计表为饼状图,用户能直观看出每类支出和收入在总支出和总收入中所占百分比,帮助用户明白每类型的收支情况。收支总统计表采用了折线统计图,用户能直观的看出收支金额随着日期的变化,能够为自己的收支计划做个完美的基础。

在实现数据统计的功能时,需要调用Data.Java函数,通过该函数可以完成数据的分类统计以及统计图表的生成,实现的效果如图5-3所示,具体代码如下:

public class Data extends Activity {

Button paydata,incomedata,pidata;

intuserid;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.data);

ActivityManager.getInstance().addActivity(this);

paydata=(Button)findViewById(R.id.paydata);

incomedata=(Button)findViewById(R.id.incomedata);

pidata=(Button)findViewById(R.id.pidata);

}

public void onStart(){

super.onStart();

Intent intentr=getIntent();

userid=intentr.getIntExtra("cwp.id",100000001);

paydata.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Intent intent = new Intent(Data.this, PayData.class);

intent.putExtra("cwp.id", userid);

startActivity(intent);

}

});

incomedata.setOnClickListener(new OnClickListener() {


 

public void onClick(View v) {

Intent intent = new Intent(Data.this, IncomeData.class);

intent.putExtra("cwp.id", userid);

startActivity(intent);

}

});

pidata.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Intent intent = new Intent(Data.this, PIData.class);

intent.putExtra("cwp.id", userid);

startActivity(intent);

}

});


}

publicbooleanonKeyDown(intkeyCode, KeyEvent event) {

if(keyCode == KeyEvent.KEYCODE_BACK) {

Intent intent=new Intent(Data.this,Index.class);

intent.putExtra("cwp.id",userid);

startActivity(intent);

return true;

    }

returnsuper.onKeyDown(keyCode, event);

}

}

 

 

 

5-3 数据统计

5.4 账户管理功能的实现

如下图所示是账户管理模块。该模块分为五个大项分别是用户注册、切换用户、修改用户密码、删除当前用户及所有数据、使用默认用户登入。通过用户注册注册用户信息,可以注册多个用户信息,必要时通过切换用户进行用户切换。当想换密码时可以点击修改用户密码进行修改。想清空所用用户数据可选择删除当前永和及所有数据。使用默认用户登入可保持一个账号的登入。

 账户管理功能是对小乖记账APP在功能上的完善,可以提高的应用的安全性,更好的构成整个应用,效果图如5-4所示,实现的代码如下:

public class Author extends Activity {

Intent intentr;

intuserid;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.author);

ActivityManager.getInstance().addActivity(this);

}

public class PIData  extends Activity{

int userid;

Intent intentr;

PayDAO payDAO;

IncomeDAO incomeDAO;

Time time ;

int defaultMonth;

int defaultYear;

LinearLayout chart;

Button beforet,aftert,anytime;

Spinner year,month,day,yeare,monthe,daye;//界面上的任意时间

Listyearlist;

private GraphicalView lChart;

Adapter adapter;

XYSeriesRenderer xyRenderer;

XYSeries seriesp,seriesi;

Listdatapickerp, datapickeri;//收入,支出数据集

String date1,date2;//获取用户选择的任意两个时间

//1 构造显示渲染图

XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

//2,进行显示

XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

//2.1构建数据

Random r = new Random();

public PIData() {

// TODO Auto-generated constructor stub

}

效果图如5-4所示:

 

5-4 账户管理页面

5.5系统设置功能的实现

如下图所示是系统设置功能模块,分为七个大项非别是清空收入数据、清空支出数据、清空便签数据、收入类型管理、支出类型管理、还原默认设置、关于系统。清空数据是清空用户所有有关数据点击确定即可清空。类型管理是收支类型的添加与删除,点击即可选择添加或者是删除。还原系统设置即为重置所有类型数据,关于系统是系统的相关情况。效果图如5-5所示,实现的代码如下:

import cwp.moneycharge.model.ActivityManager;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.KeyEvent;

import android.widget.ArrayAdapter;

import android.widget.ListView;

 

public class Author extends Activity {

Intent intentr;

int userid;

public Author() {

// TODO Auto-generated constructor stub

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.author);

ActivityManager.getInstance().addActivity(this);

}


@Override

protected void onStart() {

// TODO Auto-generated method stub

super.onStart();// 实现基类中的方法//  调用自定义方法显示收入信息

Intent intentr=getIntent();

userid=intentr.getIntExtra("cwp.id",100000001);}


 

public boolean onKeyDown(int keyCode, KeyEvent event) {

    if(keyCode == KeyEvent.KEYCODE_BACK) { //监控/拦截/屏蔽返回键

     Intent intent=new Intent(Author.this,About.class);

intent.putExtra("cwp.id",userid);

startActivity(intent);

        return true;

    }

    return super.onKeyDown(keyCode, event);

}

}

 

5-5系统设置页面

 

 

 

 

 

 

 

 

 

 

 

 

6章 测试

6.1  基本概念

在代码编写完成之后,应用已经可以运行,但是在应用软件使用之前,要对应用进行系统测试。对应用进行的测试,是对整个应用软件的测试,这在系统周期中的地位已经越来越高,其位置越来越重要,其目的就是为了验证应用能否对应已经制定好的需求标准,找出其中尚存的错误,在应用使用之前将其消灭[14]

6.2  测试步骤

软件测试,一般可以划分为以下四个部分:

1单元测试:检查和验证应用中的最小测试单元。对于各种情况来说,单元就是能够进行测试的最小的被检测功能模块,这种单元是认为进行规定的。它也可以被称为模块测试,目的在于发现错误,一般用白盒测试。

2集成测试:集成测试是对上一步骤所进行的逻辑扩展。把已经进行过单元测试的模块,按照一定的策略将它们进行组装,然后对其中的接口和功能进行测试,这是集成测试最简单的形式。它又称为组装测试或者联合测试,一般用黑盒测试[15]

3确认测试:确认测试又可以称为有效性测试。它采用黑盒测试,验证应用软件的可用性,也就是检测被测软件的功能、性能等是否满足需求。

4系统测试:对整个应用进行测试,验证应用是否满总所有的需求,找出不合格不正确的位置,并将其改正加以完善。它采用黑盒测试,包括应用所有的部件,并且是基于应用需求的。

6.3  系统测试

本文主要从菜单页、我的收入功能、我的支出功能、我的便签功能和数据统计功能等五个方面进行测试。具体如下:

1)菜单页测试:进入菜单界面,依次点击我的支出、我的收入、我的便签、数据统计、账户管理、系统设置和退出这七个按钮,验证对应的功能是否成功实现。分别点击这七个按钮,均可实现相应功能下的跳转[16]

2)我的收入功能测试点击该按钮后可进入具体功能页面,实现收入记录的查看与新增。

3)我的支出功能测试:点击该按钮后可进入具体功能页面,实现支出记录的查看与新增

4)我的便签功能测试:点击该按钮后可进入具体功能页面,实现便签功能的查看与新增。

5)数据统计功能测试:在该页面下选择相应的时间段,可以完成统计图表的形成,实现统计功能[17]

6.4  功能测试

小乖记账APP功能测试,主要包括账号管理、收支添加和系统设置方面的测试。

6.4.1账号管理测试

针对账号管理功能方面,本文主要围绕用户注册、用户登录、账户信息和修改密码等四个子功能进行测试。最终通过比较预期结果和实际结果,来实现账号管理的测试,具体如表6-1所示。

 

6-1 账号管理测试

编号

功能

测试步骤

预期结果

实际结果

1

用户注册

输入所需注册的用户名

1. 提交检测是否符合要求,符合则提示注册成功

2. 反之提示错误

1. 用户名和密码符合要求,注册成功

2. 用户名和密码不符合要求,提示用户名和密码错误

2

用户登录

1. 输入错误的用户名或者密码

2. 输入正确的用户名和密码

1. 提示用户名或者密码错误

2. 登陆成功

1. 提示用户名和密码错误

2. 成功登录APP

3

账户信息

进入主界面后点击用户信息管理

提示用户输入个人信息

输入相关信息,提示保存成功

4

修改密码

进入用户信息管理,点击修改密码

将新密码输入,提示修改成功

输入新密码,完成修改

由表6-1所示,用户注册、用户登录、账户信息和修改密码等四个子功能的预期结果和实际结果一致,表明本文设计的小乖记账APP能实现账号管理功能。

6.4.2收支添加测试

针对收支添加功能方面,本文主要围绕记账、删除记账记录、更改记账记录等三个子功能进行测试,并比较预期结果和实际结果。具体如表6-2所示。

 

6-2 收支添加功能测试

编号

功能

测试步骤

预期结果

实际结果

1

记账

在主界面选择我的支出和我的收入,点击新增

1. 将相应信息分别填入然后点击保存

2. 若输入格式不符合要求,提示输入有误,重新填写

1. 正确填写相应信息然后保存

2. 错误填写如金额为负数,提示信息有误则重新填写

2

删除记账记录

选择对应的收支信息,然后长按删除键

选择相应的记账记录点击删除,记录被删除

选择相应的记账记录点击删除,记录被删除,提示删除成功

3

更改记账记录

选择对应的收支记账记录,选择修改键,可以重新键入相关信息

选择相应的记账记录。对金额、时间、类别进行修改,修改完成后点击修改界面

1. 正确填写修改后的信息,提示修改成功

2. 反之提示错误

由表6-1所示,记账、删除记账记录、更改记账记录等三个子功能的预期结果和实际结果一致,表明本文设计的小乖记账APP能实现账号管理功能。

 

6.4.3系统设置测试

针对系统设置功能方面,本文主要围绕资金类型添加、清空数据等两个个子功能进行测试,并比较预期结果和实际结果。具体如表6-3所示。

 

6-3 系统设置测试内容表

编号

功能

测试步骤

预期结果

实际结果

1

资金类型添加

主界面点击系统设置,选择资金类型管理

输入添加的类别名称,点击添加,提示添加成功

输入类别名称,点击添加,提示成功

2

清空数据

主界面点击系统设置点击清空数据

点击清空收入或支出数据,跳出警示框询问是否删除所有数据

点击确定删除所有数据,数据删除

由表6-1所示,资金类型添加、清空数据等两个子功能的预期结果和实际结果一致,表明本文设计的小乖记账APP能实现账号管理功能。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

本文设计的APP是基于Android平台的小乖记账,它的重点在于Android环境的构建、安卓相关知识的运用以及电脑AI的算法实现这个APP将人们在日常消费中会涉及到的诸多方面都进行了功能上的设计,是一款非常适合当下的记账类型APP,小乖记账运用移动客户端Android平台的特征和人们日常消费中需要的内容进行了结合,进而将小乖记账APP的解决方案进行了规划,在目前行业中有着很强的代表意义[3]。作为一款单机的记账系统,主要是目前广大不会自己理财的用户,即使在没有网络的情况下也可进行记账功能的实现。经系统测试,本文设计的个人记账管理APP具有简单鲜明、针对性功能设计和方便快速使用等特征。随着技术的发展,这款APP也将会不断更新功能并且扩大适用范围以满足更多用户需求。如今社会乃是智能社会,人类利用智能技术优化了生活方式也提供了便利,小乖记账完全适应社会需求,所以说它的市场前景势必极为可观。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考文献

[1] 韩超,梁泉.Android系统原理及开发要点详解[M].电子工业出版社,2013.56-60.

[2] 王勇安卓手机应用助手帮你管理手机资源[J]电脑知识报201334(2)1-7

[3] Hsu Y C Rice K Dawley L Empowering educators with Google's Android App InventorAn online workshop in mobile app design[J]. British Journal of Educational Technology201243(1)E1–E5

[4] Kim B M Li QPark C S, et al A new approach for combining content-based and collaborative filters[J]. Journal of Intelligent Information Systems2016 27(1)9-91

[5] 王勤.Android技术内幕系统卷System[M].机械工业出版社,201770-88

[6] 王秋丽. 我国财务软件的现状及发展趋势[J]山西经济管理干部学院学报201210(1)43-45

[7] Bruce EckelJava编程思想[M]机械工业出版社2017-6-199-122

[8] 马克·艾伦·维斯.数据结构与算法分析Java语言描述[M]机械工业出版社2016-3-169-73

[9] 郭霖第一行代码[M]人民邮电出版社2014-7-183-94

[10] 明日科技Android从入门到精通[M]清华大学出版社2012-9-1138-155

[11] 李刚Java疯狂讲义[M]电子工业出版社20161067-85

[12] 周志明深入理解Java虚拟机JVM高级特性与最佳实践[M]机械工业出版社, 2013-5-125-37

[13] 李刚疯狂Android讲义[M]. 电子工业出版社2015-6-156-61

[14] 孙卫琴Java面向对象编程[M]电子工业出版社2016-7-198-114

[15] 杨丰盛Android技术内幕[M]北京机械工业出版社2011134-165

[16] 孟晓龙Win7系统下Android开发平台的搭建[J]科协论坛20111(08)72-73

[17] 吴想想基于Android平台软件开发方法的研究与应用[D]北京邮电大学2011

 

 

 

 

 

 

 

 

 

 

 

致谢

首先,感谢学院的各位老师,各位老师辛苦了,在本科生的四年中,把我带到了计算机这一领域,让我感受到了新奇和愉悦,并得到了许多专业知识。

其次,感谢我的指导老师杨海东教授,感谢老师对我的悉心指导。从毕业设计的选题、撰写开题报告、设计所有环节直至完成现在的论文,导师耐心细致地进行指导,使我受益匪浅。同时,老师和蔼亲切的形象也树立在我心中,再次感谢老师孜孜不倦的谆谆教诲。

然后,感谢家人,是他们无私的不求回报的支持我,照顾自己的衣食住行,在自己消极难过的时候给我温暖,无论自己犯了什么样的错都会无条件的原谅我,让我真真切切的感受到家这个词的含义,真实存在的一个能够包容你、安慰你、温暖你的港湾。无论自己情况怎样,只有家人不会抛弃你,不会嫌弃你,血浓于水的亲情,无以为报。

最后,感谢四年中在我身边出现的朋友们,感谢你们不嫌弃我一直把我当好朋友,开心时能够与你们愉快玩耍,难过时能够同你们开怀畅饮,感谢你们的陪伴,陪伴我走过这么多的岁月,感谢你们在我不成熟的年纪出现到目前为止也没有离去。

 


word该篇基于安卓的个人记账管理APP设计与实现范文,全文共有26427个字。好范文网为全国范文类知名网站,下载全文稍作修改便可使用,即刻完成写稿任务。下载全文:
《基于安卓的个人记账管理APP设计与实现.doc》
基于安卓的个人记账管理APP设计与实现下载
下载本文的Word文档
推荐度:
点击下载文档