基于安卓系统的个人理财系统毕业论文-精品

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

基于安卓系统的个人理财系统毕业论文-精品
2020-12-12
【关键字】方案、目录、意见、情况、方法、环节、条件、前提、空间、文件、运行、地方、问题、系统、深入、继续、优良、快速、执行、建立、发现、掌握、了解、研究、特点、关键、支撑、安全、稳定、网络、意识、成果、地位、基础、需要、环境、工程、项目、资源、重点、体系、能力、需求、纽带、方式、标准、结构、水平、速度、关系、设置、分析、简化、拓展、满足、理顺、整合、管理、保证、确保、服务、指导、帮助、支持、教育、解决、分工、完善、加强、适应、实现、提高、规范、核心
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:
指导教师签名:日期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日
导师签名:日期:年月日
指导教师评阅书
评阅教师评阅书
教研室(或答辩小组)及教学系意见
安卓
系统
的个
人理
财系




着移动
终端的
迅速普
及,
Androi
d系统
平台应
用软件
的需求
随之增
大。


课题通过研究Android体系结构和个人财务管理方面的知识,设计并实现了个人理财系统。

能够对理财信息进行获取、汇总、收集、整理等功能,从而实现随身随
时随地进行日常的理财活动。

本课题第一部分是绪论,论述本课题的内容、方法和意义;第二部分是介绍,介绍系统的开发环境以及所使用的技术,重点对Android系统作简要的介绍。

第三部分是总体设计,做了系统需求分析、系统的功能结构设计和数据库设计。

第四部分是详细设计,在第三部分总体设计的基础之上,论述系统的功能运行流程。

第五部分是测试,对系统的功能进行验证,确保系统正常运行。

最后是结束语、参考文献和致谢部分。

关键词:手机理财安卓个人财务管理
Personal Financial Management System Based on the
Android System
ABSTRACT
With the rapid development and popularization of the mobile terminals, the demand of applications based on Android is increasing. This system is to research the structure of Android system and the implementation of personal financial management. To achieve the function of acquisition, summary, collection, analysis of financial data, so it achieves daily and pocket financial management at any time and anywhere.
The first part of this system is a brief introduction, to introduce the contents, method and purpose of this system. The second part is an introduction to describe the environment and technology of development that applied for this system, focused on the brief introduction of Android system. The third part is the general design of the system, including analysis of system demands, function structure design and database design. The fourth part is a detailed design of the system, based on the general design of the third part and it describes the functional flow charts of the system. The fifth part is about system testing, it verifies the function of system and ensures the system running right and smoothly. The last part is the ending words, references and acknowledgements.
Key words:Mobile financial Android Personal financial management
目录
第一章绪论 (1)
1.1 开发背景 (1)
1.2 国内外研究现状 (1)
1.3 本课题研究的内容 (1)
1.4 本课题研究的方法 (2)
1.5 本课题实现的意义 (2)
第二章系统开发环境和技术介绍 (3)
2.1系统开发环境及工具 (3)
2.1.1Eclipse + ADT (3)
2.1.2AVD和Android模拟器 (3)
2.2 Android系统介绍 (3)
2.2.1Android平台构架 (3)
2.2.2Android应用组件 (4)
2.3系统的重要技术介绍 (5)
2.3.1 XML介绍 (5)
2.3.2 SQLite数据库介绍 (5)
2.3.3 Jxl.jar包 (6)
2.3.4 AChartEngine.jar包 (6)
第三章总体设计 (7)
3.1主要技术问题 (7)
3.2需求分析 (7)
3.3功能设计 (7)
3.4数据库设计 (9)
3.4.1数据库的E-R图设计 (9)
3.4.2数据表名和字段设计 (9)
3.5本章小结 (10)
第四章详细设计 (11)
4.1总系统介绍 (11)
4.2功能模块详细设计 (11)
4.2.1增加收支功能 (11)
4.2.2查看收支功能 (11)
4.2.3修改收支功能 (12)
4.2.4删除收支功能 (12)
4.2.5增加账户功能 (13)
4.2.6查看账户功能 (13)
4.2.7修改账户功能 (13)
4.2.8删除账户功能 (14)
4.2.9设置密码功能 (14)
4.2.10数据导出功能 (14)
4.2.11收支图表功能 (15)
4.2.12账户图表功能 (15)
4.3本章小结 (15)
第五章系统测试 (16)
5.1 系统版本测试 (16)
5.2 系统功能测试 (16)
5.2.1收支管理功能测试 (16)
5.2.2账户管理功能测试 (17)
5.2.3密码功能测试 (17)
5.2.4数据导出功能测试 (18)
5.2.5图表功能测试 (18)
5.3 本章小结 (18)
结束语 (19)
参考文献 (20)
致谢 (21)
第一章绪论
1.1开发背景
随着人们生活水平的提高,消费水平的不断上涨,手中可以支配的财富也就越来越多,人们对自己财富的管理和掌控能力越加力不从心,理财渐渐与我们的生活息息相关,在我们的生活中扮演着十分重要的角色。

但是我们的理财水平不能很快提高,因此,理财软件走进我们的身边,帮助我们管理我们的财务。

1.2国内外研究现状
理财软件,是指以财务账户为核心,以增值获利为目的,以资金流动为手段,以统计分析为决策的管理软件。

从使用者角度看,有个人理财类和委托理财类。

随着人们对理财越加了解和重视,各种理财产品和理财服务层出不穷,个人理财软件只是其中的一个。

但个人理财软件以其方便、实用、便宜等特点受到越来越多人的追捧和使用。

个人理财类软件可作为个人、家庭和理财师为客户做理财分析的工具软件。

个人理财软件是帮助实现个人理财的计算机应用程序。

现在常见的个人理财软件可以完成收支记账、预算、统计分析、账户管理等功能,帮助用户能更好的管理个人财务!操作简单,报表分析功能能让用户随时可以了解自己的财务状况。

理财软件又分为PC端理财软件、WEB在线理财及手机理财三大平台,之间数据既可独立,又可同步。

正是在国内外研究现状的基础之上,本课题设计并实现了自己的手机个人理财软件[1]。

1.3本课题研究的内容
基于安卓系统的个人理财系统,让手机也能够拥有理财功能,主要包括四个功能模块:收支管理模块、账户管理模块、系统设置模块、显示图表模块。

在实现系统功能的同时保证界面布局美观、方便使用。

1.收支管理模块:收支模块管理用户收入支出信息,具体为帮助用户显示、增加、删除、修改财务信息。

2.账户管理模块:账户管理模块帮助用户理清自己账户中的钱财,做到一目了然。

3.系统设置模块:系统模块设置账户、密码,将数据备份导出,保证系统安全。

4.显示图表模块:显示图表模块显示用户总体收支信息和账户信息。

显示方式为图形显示,方便直观。

1.4本课题研究的方法
本课题使用安卓官方推荐的Android SDK作为开发环境,并使用Java作为编程语言,这正是基于Java语言在编程中有许多好的像简单、面向对象、分布式、健壮性、可移植、多线性等特性的原因[2]。

1.5本课题实现的意义
在当今社会,信息化和电子化浪潮喷涌而来,我们的生活因此而变得越加的方便和快捷。

智能手机便是新的信息化和电子化的领头羊,全方面的提高了我们的工作和生活效率的同时,也让我们更加离不开它。

在智能手机中,使用最广泛的操作系统就是安卓系统。

而本课题--基于安卓系统的个人理财系统,就是在这类智能手机中,加入能够帮助我们理财的功能,让手机不仅能够解决打电话等基本通信需求,而且还能管理我们的财务,让我们能够随时随地,方便快捷的理财,
将我们的财务打理的井井有条。

第二章系统开发环境和技术介绍
本章主要介绍个人理财系统所涉及到的相关技术知识。

2.1 系统开发环境及工具
Android应用程序使用Java语言编写,而使用Java语言必须有JDK,所有需要下载和安装JDK。

针对Java语言的集成开发环境有很多,本系统使用最广泛的Eclipse开发平台。

2.1.1 Eclipse + ADT
ADT的全称是Android Development Tools,在Eclipse编译IDE环境下,需安装ADT(Android Development Tools)Plug-in,这是Android在Eclipse上的开发工具。

安卓官网为了方便开发者,在Android SDK中包含了Android应用程序开发的全套工具。

2.1.2 AVD和Android模拟器
AVD的全称是Android Virtual Device,就是Android运行的虚拟设备,它是Android的模拟器识别。

建立的Android要运行,必须创建AVD,每个AVD上可以配置很多的运行项目。

通过AVD可以启动Android模拟器,进行程序的调试。

本论文后面的测试环节,正是基于AVD,才可以在PC上使用Android虚拟机运行安卓程序,进行测试工作[3]。

2.2 Android系统介绍
2.2.1 Android平台构架
Android系统采用分层的架构实现,总体可分为四层结构,分别是应用程序层、应用程序框架层、系统运行库层以及Linux内核层。

它采用一种被称为软件叠层(Software Stack)的方式进行构架,使得层与层之间互相分离,明确各层的分工。

这种分工保证了层与层之间的低耦合,当下层的层内或层下发生改变时,上层应用程序无须任何改变。

Android系统体系结构如下图2.1所示。

图2.1 Android系统体系结构[4]
1.应用程序层
Android系统将会包含系列的核心应用程序,这些程序包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人等。

这些应用程序都是用Java编写,并且都是可以被开发人员所开发的其他应用程序替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。

用户开发的Android应用程序和Android的核心应用程序是同一层次的,它们都是基于Android的系统API构建的。

2.应用程序框架层
应用程序框架层是开发者从事Android应用开发的基础,很多核心应用程序也是通过这一层来实现其核心功能,该层简化了组件的重用,开发人员可以直接使用它提供的组件进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。

3.系统运行库层
Android系统运行库层主要分为系统库和Android运行时环境两部分。

(1)系统库:系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。

(2)Android运行时环境(Run Time Context): Android应用程序时采用Java语言编写,程序在Android运行时环境中执行,运行时环境可分为核心库和Dalvik虚拟机两部分。

4.Linux内核层
Google选择了Linux作为Android的底层支撑系统。

当前的 Android系统是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。

当然,除了标准的Linux内核外,Android还增加了内核的驱动程序:Binder(IPC)驱动、显示驱动、输入设备驱动、音频系统驱动、摄像头驱动、Wi-Fi驱动、蓝牙驱动、电源管理。

本课题程序运行在安卓系统体系结构的最上层,即应用程序层。

也正是因为有这种架构,最上层的程序,包括本系统,才可以在手机当中正常工作[5]。

2.2.2 Android应用组件
应用组件是构建安卓程序的基础。

每一个组件都是系统与程序交互的一个通道。

并不是所有的组件都有实际的入口点,有一些虽然互相依赖,但是各自都作为自己的实体存在,并且扮演特殊的角色:每一个都是一个唯一的构建块,用于定义程序的一些行为。

一共有四种应用组件.每一种类型都用于不同的目的,有不同的生命周期来定义组件的建立和销毁。

1.Activity 组件
Activity是Android应用程序中最为基本也是最为重要的组件之一,在Android应用程序中,手机屏幕上显示的每个窗口都是一个Activity,用户主要通过Activity组件与应用程序交互。

下图2.2是Activity 的生命周期。

图2.2 Activity的生命周期[6]
2.Service组件
服务没有可视化的用户界面,而是在一段时间内在后台运行。

比如说,一个服务可以在用户做其它事情的时候在后台播放背景音乐、从网络上获取一些数据或者计算一些东西并提供给需要这个运算结果的Activity使用。

每个服务都继承自Service基类。

3.BroadcastReceive组件
广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。

很多广播是源自于系统代码的──比如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项。

应用程序也可以进行广播──比如说,通知其它应用程序一些数据下载完成并处于可用状态。

应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响应。

所有的接收器均继承自BroadcastReceiver基类。

4.ContentProvider组件
内容提供者将一些特定的应用程序数据供给其它应用程序使用。

数据可以存储于文件系统、SQLite数据库或其它方式。

内容提供者继承于ContentProvider 基类,为其它应用程序取用和存储它管理的数据实现了一套标准方法。

本程序就是使用这四大组件,设计实现的[7]。

2.3 系统的重要技术介绍
2.3.1 XML介绍
XML的全称为可扩展标记语言 (Extensible Markup Language) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

XML能够更精确地声明内容,方便跨越多种平台的更有意义的搜索结果。

它提供了一种描述结构数据的格式,简化了网络中数据交换和表示,使得代码、数据和表示分离,并作为数据交换的标准格式,因此它常被称为智能数据文档。

在本次Android开发中,使用XML布局文件控制UI界面,所有XML文件保存在res/layout 目录下,Activity中使用setContentView(yout.XXX)显示XML文件中布局内容,这样就实现了前台界面与运行代码的分离[8]。

2.3.2 SQLite数据库介绍
Android系统集成了一个轻量级的数据库:SQLite。

SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

它能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

基于以上的原因,SQLite可以在安卓系统中很方便的被本程序所使用,不用其他任何附加条件[9]。

2.3.3 Jxl.jar包
Java Excel 是一开放源码项目,通过它 Java 开发人员可以读取 Excel 文件的内容、创建新的 Excel 文件、更新已经存在的 Excel 文件。

使用该 API 非 Windows 操作系统也可以通过纯 Java 应用来处理 Excel 数据表。

因为是使用 Java 编写的,所以我们在 Web 应用中可以通过 JSP、Servlet 来调用 API 实现对 Excel 数据表的访问。

基于以上Jxl.jar的优良特性,本系统使用此包实现了将数据库中理财信息导出的功能[10]。

导出格式为.xls的文件,该文件可在电脑上使用Excel打开。

2.3.4 AChartEngine.jar包
AChartEngine是为Android应用而设计的绘图工具库。

可用于绘制多种图标,目前该绘图工具库的最新稳定版本是1.0.0。

AChartEngine支持的图表类型:折线图、区域图、散点图、时间图、柱状图、饼状图、气泡式图表、环形图、高低交替图。

本程序在使用AChartEngine.jar包的基础之上,将数据库中的财务信息转化为图像的功能[11]。

第三章总体设计
3.1主要技术问题
本系统帮助我们进行日常的理财活动,要对个人理财信息进行收集、汇总、整理和显示。

因此本课题的主要技术问题如下:
1.数据汇总问题:本课题中的用户收支管理功能就是程序接受用户理财信息的接口,
通过规范理财信息解决数据汇总问题。

2.数据整理问题:本课题使用账户管理功能对个人理财信息进行账户管理。

3.数据显示问题:通过使用显示图表功能对财务数据显示。

3.2需求分析
基于安卓系统的个人理财系统的基本功能是对个人理财信息及时方便的记录和高效快捷安全的管理。

用户能够通过手机上的理财系统对生活中遇到的日常收入支出信息记录到数据库中,也能够将曾经记录的收支信息查看管理,或备份到其他的存储设备中。

本系统的数据对象是用户的个人理财信息,主要包括用户收入支出信息和用户个人账户信息两部分。

用户收入支出信息主要记录用户日常生活中的收入支出信息;用户个人账户信息则对用户收入支出信息整理归纳,让用户对自己的财务状况一目了然,心中有数。

用户的个人理财信息是十分重要和私密的。

因此,为保证用户信息的安全性,用户可以对本系统加设密码,防止其他人随意翻阅。

3.3功能设计
基于安卓系统的个人理财系统,提供了收支管理、账户管理、系统设置和显示图表四个主功能模块,如下图3.1所示:
图3.1 程序主功能模块
在这四个主功能模块中,收支管理功能模块和账户管理功能模块是理财系统的重中之重,属于系统的核心功能模块。

从用户的角度看,在这两者之间还是有很大区别。

收支管理功能模块更趋向于和人的交互工作,或者说是更依赖于用户的使用。

用户使用个人理财系统,本身就是因为理财数据杂乱、复杂、数据量大,用户自身不能管理和驾驭这些数据;用户通过频繁使用收支管理功能模块,将个人收入支出信息汇总、整理。

收支管理功能模块就是整个系统中的最大的交互接口,从中得到用户信息,从这点来看,收支管理功能模块在个人理财系统中也最为依赖用户。

而对于账户管理功能模块来说,虽然也能与用户进行数据交互,但这不是该模块的重点。

账户管理功能模块主要是将收支管理功能模块中的用户理财信息归纳、总结,以账户形式整理显示出来。

下面是两个功能模块的具体论述。

收支管理功能模块,功能是将用户的收入支出信息,保存到数据库中去,并进行必要的数据库操作。

可将此功能模块细分为四个小功能模块,分别是增加收支功能模块、查看收支功能模块、修改收支功能模块和删除收支功能模块。

如下图3.2所示:
图3.2 收支管理功能模块
四个子功能模块用途如下:
1.增加收支:每当用户有新的收入或支出时,可以通过此模块将信息存入程序中。

2.查看收支:用户可以通过此模块查看已经录入的收支信息。

3.修改收支:为防止用户信息录入错误,可以修改错误信息。

4.删除收支:将错误或过期收支信息删除。

账户管理功能模块,是将用户的账户信息保存在数据库中,并随着用户收支信息的录入,对账户信息及时的更新。

当然也可以手动对账户信息进行数据库的基本操作。

可将此功能模块细分为四个小功能模块,分别是增加账户功能模块、查看账户功能模块、修改账户功能模块和删除账户功能模块。

如下图3.3所示:
图3.3 账户管理功能模块
四个子功能模块用途如下:
1.增加账户:用户会有多个财务账户或财务信息;用户可以通过此模块新建一个账户,以便管理更多的财务信息。

2.查看账户:账户信息随着收支信息不断变化,用户通过此功能,查看理财结果,一目了然。

3.修改账户:当账户信息不对或有了新的账户情况时,可用此功能将账户信息校准。

4.删除账户:不需要的账户可以删除掉。

系统设置功能模块和显示图表功能模块,都属于辅助性功能模块,在程序中辅助前两个主功能模块工作,使得程序更安全、更实用和方便。

这两个辅助性功能模块,是对主功能模块的扩展,对用户需求的适应。

设置密码功能模块加强了系统的安全性;数据导出功能模块方便用户备份,也便于管理自己的理财数据;收支图表功能模块和账户图表功能模块直接对应主功能模块的数据,是对这些数据的另一种显示方式,便于用户对这些数据的直观感受。

两个功能模块如下图3.4所示:
系统设置功能模块,可以对程序进行密码设置和数据导出。

图3.4 系统设置和显示图表功能模块
1.设置密码:为保证理财信息安全而设置的功能模块。

2.数据导出:可以通过此功能将手机上的数据导出到电脑上去,转出文件为xls格式,可用Excel打开。

显示图表功能模块,负责将数据库中的财务信息以图表的形式表现出来。

又由于数据的变化分为收支图表功能模块和账户图表功能模块。

3.收支图表:通过此功能查看收支情况的饼状图。

4.账户图表:用户可能会有许多账户,查看起来很不方便,此功能将账户信息转换为图表,便于查看。

3.4数据库设计
在数据存储模块设计中,本系统采用了两种不同的数据存储方式,分别是SharedPreferences存储数据和SQLite数据库存储数据。

用户的个人理财信息使用SQLite数据库存储数据,信息存储在安卓系统自带的轻型数据库SQLite中。

用户的密码信息则使用SharedPreferences保存为一个XML文件,存储在用户手机的内置存储卡中。

这是考虑到本理财软件是在手机上运行,和电脑理财软件相比更加私密,定位使用成员是手机主人和家庭成员,故软件仅有一个默认用户和密码,不需要使用数据库存储数据。

数据库的设计是按以下的分析进行的。

账户:存储账户信息。

账户信息是程序将用户输入的收支信息做自动计算而出来的信息。

一条账户信息分为账户名称、使用币种和金额大小三类信息。

用户收支:用来存储用户的详细收入支出信息。

信息包括交易类型、时间、类别、账户名、币种、金额、地点和备注。

这两个表通过账户名信息将两个信息关联在一起。

通过用户收支情况的变动,账户信息也随之改变。

3.4.1数据库的E-R图设计
E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

E-R方法也称为E-R模型。

在E-R图中,用方框表示实体,用菱形表示联系,用椭圆表示属性。

通过对以上程序功能和数据信息的分析,确定基于安卓系统的个人理财系统的E-R图如下图3.5所示。

图 3.5 ER图
如图3.6账户实体的ER图。

账户中包含账户名称、币种和金额三属性。

图 3.6 账户ER图
如图3.7用户收支实体的ER图。

图 3.7 用户收支ER图
3.4.2数据表名和字段设计
对数据库的表和字段进行设计。

该理财系统需要账户和用户收支两类信息的采集,故对应两张表:account表和balance表。

相关文档
最新文档