毕业设计(论文)-基于安卓的大学生记账管理系统的设计与实现.doc_第1页
毕业设计(论文)-基于安卓的大学生记账管理系统的设计与实现.doc_第2页
毕业设计(论文)-基于安卓的大学生记账管理系统的设计与实现.doc_第3页
毕业设计(论文)-基于安卓的大学生记账管理系统的设计与实现.doc_第4页
毕业设计(论文)-基于安卓的大学生记账管理系统的设计与实现.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕 业 设 计中文题目基于安卓的大学生记账管理系统的设计与实现英文题目design and implementation of thecollege students accounting management system based on android 院 系:计算机与信息工程学院年级专业:2012级软件工程(金融服务)姓 名:学 号:指导教师:职 称:2016年5月诚信声明书毕业设计(论文)诚信声明书本人郑重声明:在毕业设计(论文)工作中严格遵守学校有关规定,恪守学术规范;我所提交的毕业设计(论文)是本人在 指导教师的指导下独立研究、撰写的成果,设计(论文)中所引用他人的文字、研究成果,均已在设计(论文)中加以说明;在本人的毕业设计(论文)中未剽窃、抄袭他人的学术观点、思想和成果,未篡改实验数据。本设计(论文)和资料若有不实之处,本人愿承担一切相关责任。学生签名: 年 月 日摘要摘 要本文根据现代经济社会中,大学生经济活动频繁,消费种类繁多情况下,研究一个专门为大学生设计和开发的小型财务管理系统。方便用户记录收支信息、实现报表分析,提供多种记账方式方便快速记账,总结自己的财务情况,方便大学生能有更便捷、实用的平台来进行记录、查看和维护的记账管理系统。大学生记账管理系统与传统的记账方式相比,具有安全性、便携性和实用性。同时与市场普遍的记账系统相比,具有针对性、实用性及方便性。本文系统采用android、java和sqlite数据库三者相结合进行开发和设计一款手机应用程序。系统功能有:收支信息的添加、删除和修改,报表分析及其自定义报表分析,拍照记账、语音记账和快速记账等多种记账方式,收入、支出数据的清空,收入、支出类型的管理,语音管理,手势密码,用户反馈等等。系统具有简单鲜明、针对性功能设计和方便快速使用等特征。关键词:大学生记账管理;android;sqlite32abstractabstractaccording to the modern economic society, the economic activities of college students are frequent, and there are many kinds of consumption, the paper studies a small financial management system designed and developed specifically for college students. to make user convenient to record of income and expenditure information, statement analysis, offers a variety of billing methods convenient fast bookkeeping, summarize their own financial situation, convenient for students to have more convenient and practical platform for recording, view and maintain the accounting management system. as the accounting management system of college students compared with the traditional accounting method, which has the advantages of safety, portability and practicality. at the same time, compared with the common market accounting system which has the advantages of pertinence, practicability and convenience.this system uses the combination of android, java and sqlite to design and develop a mobile phone application. system functions: balance of payments information to add, delete and modify, statement analysis and custom report analysis, has photo account, voice account and fast account ways to record, income and expenditure data of empty, income and expenditure type management, sound management, gesture password, user feedback, and so on. the system is simple and clear, targeted functional design and convenient and fast to use characteristics.key words: college students accounting management; android; sqlite目录 目 录第1章引言11.1 研究背景11.2 课题研究的意义及目的11.3 国内外研究现状2第2章开发平台和技术介绍42.1 系统开发工具42.2 android介绍42.3 eclipse介绍52.4 sqlite介绍5第3章系统需求分析63.1 范围63.1.1 系统概述63.1.2 文档概述63.2 需求分析63.3 可行性分析73.3.1 系统可行性73.3.2 技术可行性73.3.3 经济可行性73.4 系统功能模块7第4章系统概要设计94.1 总体设计分析94.2 系统结构94.2.1 部署图94.2.2 流程图94.2.3 类图104.3 系统特点134.4 数据库设计134.4.1 tb_account(用户信息表)144.4.2 tb_income(收入信息表)144.4.3 tb_pay(支出信息表)144.4.4 tb_ptype(支出类型表)154.4.5 tb_itype(收入类型表)154.4.6 tb_note(用户备注信息表)15第5章系统详细设计与实现165.1 主界面设计165.2 手势密码界面175.3 收支信息添加界面185.4 百度语音记账界面195.5 收支类型管理界面205.6 收支报表界面215.7 更多设置界面23第6章系统测试256.1 测试方案256.2 测试说明及功能测试256.2.1 测试说明256.2.2 功能测试256.3 测试结果概述276.4 测试结果评价27第7章结论与展望287.1 结论287.2 研究展望28参考文献30致 谢31第1章 引言第1章 引言1.1 研究背景社会经济虽然从以前的高速发展变为近一两年的中高速发展,但经济发展更趋稳定,同时生活方式和经济活动也随之发生了许多变化,日趋多样。而大学生的消费方式,也从过去的单一变得多元化,从以前简单的日常生活消费到如今的多种多样的花费。收入来源也发生了显著变化,对于以前的大学生来说,绝大部分大学生基本上是零收入,而现今,对于高校学生,出去兼职已是平常,同时在校大学生开网店、摆地摊(有些高校不会驱赶学生摆地摊)等也是普遍。总之大学生的收入来源多样化,大学生经济活动日趋频繁。然而在如此的变化下,大部分大学生对于自己的收支情况却不甚清楚或者懒于打理。大学生收支情况杂且多,当需要用到某笔收支情况或者进行收支统计时,却忘了或者只记得大概。并且对于大部分大学生来说,其日常开支多是小额的且收支类型五花八门,更加导致大学生懒于记录这些琐碎的收支情况。而现今“理财”对于大学生显得尤为重要,大学生也需要合理的管理自己的财务,使自己能合理的制定一些消费计划或者了解自己的收支情况。而安卓手机的普遍使用加上客户的需求,使得记账软件由此产生了1。而安卓的发展,使得国内外使用安卓手机的用户规模巨大。在2003年10月份,安迪鲁宾创造了android公司和形成了一个android团队。在随后由于其公司获得了apache的开源许可证授权,并向大众公布其源代码。因为它的开源性,使其受到业界的广泛欢迎和认可。在2011年以后,其全球市场份额一直稳居世界第一。并且在2014年,安卓全球的市场份额达到了84.4%。到了2015年,安卓的手机用户突破14亿 2。安卓虽然受到一些挑战,例如ios的挑战,但预计未来几年,安卓依然强劲,使用安卓手机用户将会更多。1.2 课题研究的意义及目的现今大学生的经济活动越趋于活跃,收支种类繁多且多是小金额,加上传统记方式的麻烦、不便携,大学生一般懒得记账。而当需要一些收支信息时,却常常记不起来或者完全遗忘。为了更好的管理自己的收支信息,和对大学生自身收支信息进行分析时,针对大学生的记账管理系统应运而生3。基于安卓的大学生记账管理系统,可以方便实用的记录繁多的收支信息,提供多种记账方式,满足大学生多种需求,报表分析更好的分析其收支情况,更有多种功能满足大学生其他需求,不必再担心收支信息的遗忘了。1.3 国内外研究现状随着经济的发展,使得经济活动多样化,理财在当今社会变得重要。在美国,几乎所有的美国人都重视孩子的独立能力,美国家长在孩子18岁之后,就不在承担其各种费用,而这样使得美国孩子养成了理财习惯。而中国家长则由于传统,孩子所需花费一般都由家长提供,导致孩子上大学后对理财方面不太熟悉,大学生的花费项目又是多样化且大部分是小额的,导致中国大学生不太关注理财记账方面,懒得去记平时的花费收入或者同学间的借贷等4。在安卓的开发方面,国内外对其的研究在安卓开源前,外国领先于国内。但随着其开放后,国内对其的研究基本保持和美欧同步。并且android的开源开放还有其独特优势,使得当前阶段软件开发商和开发人员对android都比较支持。总的来讲,android有以下4点优势5:(1)开放性谷歌公司获得了apache的开源许可证授权,开放了其源代码,安卓系统变成了一个开源开放的平台。同时开放性还有一个好处是如果开发者想加入的话,随时就可以加入,开发者越多,开发的各类应用软件也越多,随着这几年的数据来看,安卓用户不断增加,这种良性发展,使得安卓平台很快成熟。开放使得众多开发者涌入,同时也带来了用户的增加。开放带来了众多的开发商或者制造商,虽然开放其各类资源可以互通,但之间的竞争也更大。两者的竞争大的话,对于消费者是有利的,因为手机价格一般会变得更低。(2)丰富的硬件由于开放性的安卓平台,使得许多厂商将推出独特的产品特点。虽然在功能上有差异,但不影响软件的兼容、数据同步。像黑莓的blackberry os风格可以容易的切换到apple的iphone上,两者间如果有很好的软件,也可以实现互用,联系人和其他数据可以更容易转移。(3)开发方便安卓由于开放,开发者可以发挥自己天马行空的创意和思想,不会有各种的限制,只要遵守国家的法律法规。不过也有两面性,其中的问题有血腥、暴力和节目色情方面等。(4)谷歌应用程序谷歌从2005年到如今的2016年,过去了11年,谷歌的搜索引擎虽然闻名中外,但它提供的一系列应用程序,例如谷歌地图、谷歌搜索等,而安卓平台可以使用这些谷歌所提供的应用程序。同时,国外针对大学生的各类安卓记账软件多,且功能丰富,满足大学生需求。对于国内的话,当然,随着安卓的热门,各类安卓软件如春笋般涌出。出现了各种的记账系统或者某些系统带有记账功能,如支付宝的记一笔功能。这些软件给大学生记账带来了方便。但这些传统的记账软件对于大学生来说,存在一些缺点6:(1)需求方面不是针对大学生所开发的,是大众化的,开发的功能多是一些简单的记账,有些系统甚至没有报表分析功能等。虽然某些软件开发的功能对于大学生基本的需求能满足,但大学生对于新事物接受较快,对于用户体验更加看重,过去面向大众的简单的功能已经完全过时了。总之,现今的国内的市场现状是基本上所有有关大学生记账的系统,对于大学生的一些特定需求无法满足。(2)功能简单大部分的软件都只有简单的记账和直接统计得出的报表分析,而且报表分析也只是统计一下所占百分比或者其他。大学生需要的是具体能根据其花费得到更多更准确或者说是更有意义的建议。并且大学生需要的是有多种功能的记账软件,例如有提醒收债和还钱、多功能报表分析、多样的记账方式,而不是简单的记录就行。(3)记账方式千篇一律记账方式单一,大部分软件知识简单的文字记账,只是简单的记录例如类型、时间、花费等,完全没有新意,显得过于单调。没有丰富的记账方式,如现今大学生喜欢的拍照方式、语音方式等,可以更快捷方便的记账。不过总体来讲,国内的大学生理财的前景还是很广阔的,但由于上述提到的原因,而使大学生对于理财不太重视,但大学生也越来越关注理财,并且理财意识正逐渐加强。并且如今手机简直如大白菜般的使用,而大学生朝气蓬勃,接受新事物的能力比较强。如果有一款方便且多功能,满足大学生使用的记账软件,相信其潜力是非常不错的。第2章 开发平台和技术介绍第2章 开发平台和技术介绍2.1 系统开发工具大学生记账管理系统的开发及运行环境:操作系统:windows7开发工具:eclipse version=4.4android software development kit version=4.4.2android developer tools build: v22.6.2-1085508jdk环境:version=1.7开发语言:java、xml数据库:sqlite 运行平台:手机(mx2)、安卓模拟器2.2 android介绍安卓是底层操作系统是linux的操作系统,从最初的闭源系统到后面的变成开源系统,主要用在移动终端上7。在2003年10月份,安迪鲁宾创造了android公司和形成了一个android团队。在随后由于谷歌公司获得了apache的开源许可证授权,开放了其源代码,安卓系统变成了一个开源开放的平台。因为它的开源性,使其受到业界的广泛欢迎和认可。2011年,在中国的市场占有率达到了80%以上。并且在2014年,安卓全球的市场份额达到了84.4%。到了2015年,安卓的手机用户突破14亿。安卓发行了多个版本,从1.1到4.4版本。安卓的系统架构由三部分组成。其一是应用程序,是安卓自带的一些功能应用程序,这些程序组成基本的系统功能。其二是应用程序框架,由多个内容组成,例如视图、资源等。其三则是系统运行库,包括一些c/c+库组成。安卓也有四大组件活动、服务、广播接收器、内容提供等,四大组件互相支持,互相支撑,组合提供相应的服务。其中活动在android 中,是所有程序的根本,所有程序的流程都需要运行在activity 之中,activity可以说是程序开发者遇到的最频繁的一个东西,也是android 当中最基本的模块之一。service 是android 系统中的一种组件,它跟activity 的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。service 是没有界面的长生命周期的代码。service是一种程序,它可以运行很长时间,但是它却没有用户界面。2.3 eclipse介绍eclipse是一个基于java的发展空间很大的平台,对于本身来讲,它由一组服务和一个框架组成,用于构建开发环境的插件组件8。不过eclipse额外的提供了一套标准的插件jdk(java开发工具)。eclipse 最初由oti和ibm两家公司的ide产品开发组创建,起始于1999年4月。ibm提供了最初的eclipse代码基础,包括platform、jdt 和pde。eclipse项目ibm发起,围绕着eclipse项目已经发展成为了一个庞大的eclipse联盟,有150多家软件公司参与到eclipse项目中,其中包括borland、rational software、red hat及sybase等。eclipse是一个开放源码项目,它其实是visual age for java的替代品,其界面跟先前的visual age for java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。随后还有包括oracle在内的许多大公司也纷纷加入了该项目,eclipse的目标是成为可进行任何语言开发的ide集成者,使用者只需下载各种语言的插件即可。最初主要用来java语言开发,通过安装不同的插件eclipse可以支持不同的计算机语言,比如c+和python等开发工具。eclipse的本身只是一个框架平台,但是众多插件的支持使得eclipse拥有其他功能相对固定的ide软件很难具有的灵活性。许多软件开发商以eclipse为框架开发自己的ide。而大部分使用者都乐意把eclipse当成ide使用,但eclipse却不局限在这些,eclipse还有一个用于建设环境插件(pde),是eclipse的许多使用者所需扩展组件,可以用eclipse pde建立没有偏差的组装合成。因为eclipse的一切需要插件,支持一个eclipse插件,为用户提供了一个一样的和统一的集成开发环境,开发人员拥有全部相同“器材”来发挥自己的想法9。2.4 sqlite介绍sqlite数据库可以说是一个比较小型的数据库,是轻量级的数据库。它包含在一个相对较小的c库。它是一个公共领域的项目,由d.richardhipp建立的 。它原先设计为嵌入式,在许多嵌入式产品中使用它,它需要的资源是非常低,嵌入式设备当中,大概几百k就可以了。它支持windows / linux / unix等主流操作系统,但可以结合许多编程语言结合,如tcl,c#,php,java等,相比其他的好多数据库管理系统,sqlite(嵌入式是一个原因)处理速度很快。sqlite的第一个alpha版出现在2000年5月份。2001年,sqlite开始被应用到许多项目中。在以后几年,各种语言的sqlite扩展相继编写出来。在2004年,sqlite的版本从2升级到了3,加上是嵌入式数据库,sqlite也得到了广泛的运用。到了2015年,15年了,sqlite的sqlite 3版本也已经发行了10。第3章 系统需求分析第3章 系统需求分析3.1 范围3.1.1 系统概述(1)软件名称:小点滴。(2)软件功能:收支信息的增删改查,报表分析及其自定义报表分析,多种记账方式,收入、支出数据的清空,收入、支出类型的管理,语音管理,手势密码,用户反馈等等。(3)其他子系统的关系:没有其他子系统与其有关系。(4)用户:大学生(其他安卓用户也可以)。3.1.2 文档概述小点滴记账管理系统系统需求分析采用面向对象方法,文档的预期读者为设计师、开发人员、业务人员、架构师、测试经理等。3.2 需求分析现今由于社会经济发展迅速,各种经济交易频繁,而导致各种琐碎交易容易忘记。而大学生的的经济活动也越来越多,各种收支且大多数是小额的,而用纸质版记账则显得麻烦,而选择其他记账软件则不能满足大学生的特定需求11。同时在电脑上记账的话,电脑不是很方便的携带,不能随时随地的记账。而手机话,大学生可以方便携带,方便且快速的记账。小点滴记账由于针对的大学生,而现今大部分系统不是针对大学生所开发的,是大众化的,并且开发的功能多是一些简单的记账功能,有些系统甚至连报表分析功能等都没有。虽然某些软件所开发的功能对于大学生基本的需求能满足,但大学生对于新事物接受较快,对于用户体验更加看重,过去面向大众的简单的功能已经完全过时了。总之,现今的国内的市场现状是基本上所有有关大学生记账的系统,对于大学生的一些特定需求无法满足。功能更加贴近大学生的需求,根据大学生显示的需求来设计,界面更加美观,符合大学生的“口味”。同时有多种记账方式提供大学生选择,满足其多元化要求。同时有报表分析功能,大学生可以分析自己的财务情况,更好的把握收支,管理自身额收支情况。同时,手势密码只要求输入手势,而不用管理一大堆账户信息,同时也可以关闭手势。还有收支类型管理,可以让大学生自己进行设置收支类型等。随时随地方便、实用的记下各种以前烦心的账单,再也不担心收支交易信息的遗忘了。3.3 可行性分析3.3.1 系统可行性系统可行性是要对相关类似的系统进行调查研究,并且进行分析,合理判断开发此系统的合理性和可行性。可行性研究的目在解决问题基础上,尽量把花费控制在最小,时间控制在最短。可行性分析不是靠主观想象,而是要客观分析。分析系统的规模、目标等是否现实,值不值的开发这个系统。从以上的分析原则来看,本文设计的系统是一个小规模系统,完全有能力开发出来且符合实际。3.3.2 技术可行性大学生记账管理系统是基于开放性强、成熟的安卓平台开发的,由于sqlite是轻量级数据库,而本系统所需的数据库小,完全满足需求。开发所需的软件技术成熟稳定,且支持android系统的手机也分布广泛,可以完全满足所以的开发需求。此外本系统不用连接网络,此方面的网络数据库没有用到,且不用掌握相关的网络连接等技术。在很多嵌入式产品广受青睐,对于手机估计只需1m以下的内存就完全足够了。同时有学校的导师和公司的技术顾问指导,有疑问或者不懂得话,完全能解决这些遇到的问题,所以完成该系统的技术支持是可行的12。3.3.3 经济可行性成本上:由于开发的系统是小型系统,且安卓是开放的,用自己的电脑即可完成整个创作过程,不利用其他资源,所以本人一人即可完成。只需要个人的平时生活开销就可以了,且在学校,生活成本相对还是很低的。且用的是自带的sqlite数据库且不要用到网络数据传输等,所以这方面相当于零成本。对于有问题时,由于本科阶段,学校分配了本科导师给我们指导,相关的问题也是比较容易解决。所以成本只有本人的生活消费,开发本系统的成本非常低。效益上:企业开发一个系统往往需要一个团队来开发,而本系统只需一人即可,大大节约了人工的成本,且由于是小规模系统,工作时间也相对不是很长。同时现今每年有近800万的大学生,大学生规模庞大,所带来的经济效益应该会很客观,市场潜力大。从成本和效益分析来看,开发此系统的经济条件是满足的。3.4 系统功能模块(1)手势密码登入本系统没有登陆注册功能,用户首次登陆直接进入本系统,可在“更多”功能中手势密码,下次登陆时输入手势密码方可进入本系统。并且,当输入密码输入五次错误是,会锁住账户,用户可通过找回密码功能找回密码。(2)收入支出明细显示用户收入总额和支出总额,并且显示用户当天所记账的收支信息,以及“记一笔”记账功能。(3)报表分析用户使用报表分析可以分析用户所花费项目有哪些,且用户可以移动转轮查看该项目的花费金额和所占的支出比例。同时还有收入支出报表选项,用户可单独自定义分析收入或者支出,也可以自定义分析日期范围内的收支信息。(4)记账方式有三种记账方式:拍照记账、语音记账、快速记账,用户可以选择其中一种进行记账。选择相应记账方式后,进入相应记账功能,进行支出类别还是收入类别选择、输入金额、收支类别、时间以及相应记账方式所有功能选择。(5)账户账户可以显示该年的收入、支出及结余,还支持下拉华东选择相关年份。同时有搜索功能,用户可以通过关键字进行搜索,也可自定义时间范围或支出类别或收入类别进行搜索。同时显示各个月份的具体收支信息,用户可以选择相关收支信息进行删除、修改。(6)更多用户可以选择清空收入或支出数据,百度语音管理,收支类型的管理,还有关于系统设置,还原系统设置等。用户可以根据自己的需要进行设置相关的功能来满足其需求,例如可以设置语音的格式和语音记账时的界面。具体见图3.1所示。图 3.1 系统功能模块图第4章 系统概要设计第4章 系统概要设计4.1 总体设计分析系统设计是把需求转化为软件系统的最关键环节,从需求出发,总体上描述系统架构应该包含的组成要素。模块化就是把一个复杂的问题分成各个模块,每隔模块在一定程度上相互独立且耦合,而分解的各个模块完成相应的任务,然后把这些子模块组合起来构成一个整体,实现预期的功能 13。总体设计的核心内容就是依据需求分析定义的功能,合理、有效地实现系统中定义的各种需求。尽可能的把系统模块化,把相关设计的联系搞清楚。根据这些需求的定义划分出相关设计内容,以便更好的在详细阶段设计系统。4.2 系统结构4.2.1 部署图由于开发的系统是小型系统,且用的是自带的sqlite数据库且不要用到网络数据传输等,不需要服务器。软件首先在ide集成环境下开发完成。软件运行有两种方法:一种方法是在adt插件可视化后的模拟器上运行,另一种是软件打包成apk包,在安卓手机上安装后再手机上直接运行。部署图如下图4.1所示:图 4.1部署图4.2.2 流程图根据需求分析和系统设计,系统的基本流程可以描述为:小点滴系统主界面各个功能模块,流程图如下图4.2所示:图 4.2系统流程图4.2.3 类图本系统的各个实体类,各类用例图下列各图:(1) 用户信息实体类。具体见图4.3所示。图 4.3用户信息实体类图用户信息实体类说明:属性_id为用户的专属号码,类型为int。属性username,为登录账户名,属性pwd,为密码,类型都是string。get_id()为获取id值。方法里的getusename为获得用户名。getpwd()为获得相应的密码。总之方法里的get*()为获得对应方法的相应属性值,没有输入。setusername为设置用户名。setpwd为设置其所对应的密码。总之方法里的set*()为设置对应的属性。(2)收入信息实体类。具体见图4.4所示。图 4.4收入信息实体类图收入信息实体类说明:属性_id、username、pwd同(1)。属性no为收入编号,类型为int。属性money为收入金额,类型为double。属性time,为时间,类型为string。属性type,为类型,类型为int。属性handler为收入地址,类型为string。属性mark,为备注信息,类型为string。方法里的get*()为获得对应方法的相应属性值,没有输入。方法里的set*()为设置对应的属性,如settype()为设置其所对应的收入类型。(3)用户收入类型实体类。具体见图4.5所示。图 4.5用户收入类型实体类图用户收入类型实体类说明:属性_id、no同上。属性typename,为收支类型,类型为string。方法里的get*()、set*()同(1)。(4)用户备注信息实体类。具体见图4.6所示。图 4.6用户备注信息实体类图用户备注信息实体类说明:属性_id、no同上。属性note,为备注信息,类型为string。方法里的get*()、set*()同上。 (5)用户支出信息实体类。具体见图4.7所示。图 4.7用户支出信息实体类图用户支出信息实体类说明:属性_id、no等同上。方法里的get*()为获得对应方法的相应属性值,没有输入。方法里的get*()、set*()同上。 (6)用户支出类型实体类。具体见图4.8所示。图 4.8用户支出类型实体类图用户支出类型实体类说明:属性_id等同上。方法里的get*()为获得对应方法的相应属性值,没有输入。方法里的set*()为设置对应方法的相应属性值,没有返回值。4.3 系统特点(1)针对性强:本系统的客户虽然面向安卓用户,但针对大学生设计,客户群体固定。(2)功能完善:本系统满足大学生的基本需求和特别需求,更有多种自定义功能,如自定义报表、收支类型、语音等功能。(3)适应性强:本系统由于针对的是大学生,可以根据大学生的需求做出相应版本变化。4.4 数据库设计以下数据库各表相关属性在4.2.3类图中都有详细说明,不再重述。4.4.1 tb_account(用户信息表)表 4.1用户信息表列名数据类型主键字段说明_idintegery用户idusernamevarchar(20)n用户名列名数据类型主键字段说明pwdvarchar(50)n密码4.4.2 tb_income(收入信息表)表 4.2收入信息表列名数据类型主键字段说明_idintegern用户idnointegery编号moneydecimaln收入金额timedaten收入时间type_idintegern收入类别handlervarchar(100)n放款方markvarchar(200)n备注photovarchar(200)n照片kindvarchar(10)n类别4.4.3 tb_pay(支出信息表)表 4.3支出信息表列名数据类型主键字段说明_idintegern用户idnointegery自增moneydecimaln支出金额timedaten支出时间type_idintegern支出类别addressvarchar(100)n消费地点markvarchar(200)n备注photovarchar(200)n照片kindvarchar(10)n类别4.4.4 tb_ptype(支出类型表)表 4.4支出类型表列名数据类型主键允许为空字段说明_idintegernn用户idnointegeryn类型编号type_idintegernn类型id4.4.5 tb_itype(收入类型表)表 4.5收入类型表列名数据类型主键允许为空字段说明_idintegernn用户idnointegeryn类型编号type_idintegernn类型id4.4.6 tb_note(用户备注信息表)表 4.6用户备注信息表列名数据类型主键允许为空字段说明_idintegernn用户idnointegeryn类型编号notestringnn备注信息第5章 系统详细设计与实现第5章 系统详细设计与实现5.1 主界面设计小点滴记账系统主界面:主要功能是“记一笔”记录收支信息功能、界面上方可显示收入支出总额功能、显示当天收支信息功能。并且如果当天有记录收支信息话,可以修改当天收支信息。同时还可以点击下方相关主功能按钮跳到其他主功能界面。具体见图5.1所示。图 5.1系统主界面图部分代码如下:private void settranslucentstatus(boolean on) window win = getwindow();windowmanager.layoutparams winparams = win.getattributes();final int bits = windowmanager.layoutparams.flag_translucent_status;if (on) winparams.flags |= bits; else winparams.flags &= bits;win.setattributes(winparams);5.2 手势密码界面通过输入手势密码,进入系统。手势密码首次登陆无手势密码界面弹出,直接进入主界面,但用户可以根据要求在功能设置中开启手势密码,下次进入时则会显示手势密码界面。输入错误次数超过5次,则会锁屏,锁定账户,用户无法进行相关操作,需要通过找回密码重新开启。具体见图5.2所示。图 5.2手势密码界面图部分代码如下:private void settranslucentstatus(boolean on) window win = getwindow();windowmanager.layoutparams winparams = win.getattributes();final int bits = windowmanager.layoutparams.flag_translucent_status;if (on) winparams.flags |= bits; else winparams.flags &= bits;win.setattributes(winparams);protected void onactivityresult(int requestcode, int resultcode, intent data) super.onactivityresult(requestcode, resultcode, data);if (requestcode = 1) if (resultcode = 3) this.setresult(3);this.finish();5.3 收支信息添加界面通过键盘,添加收支信息。通过支出、收入类型按钮选择要输入信息的类别。然后通过输入金额框输入金额。点击类别按钮选择类别。可以通过“+”按钮选择输入地点、时间、备注等。点击取消会返回相应界面,则本次相关记录操作没被记录。同时可以点击语音识别进行语音记账,且可以点击拍照进行拍照,把相应图片保存在本地文件夹。点击保存则本次信息会被记录。具体见图5.3所示。 图 5.3收支信息添加界面图收支信息添加部分代码:protected void onstart() / 复写onstartsuper.onstart();/ 实现基类中的方法updatedisplay();/ 显示当前系统时间intent intentr = getintent();userid = intentr.getintextra(cwp.id, 100000001);bundle = intentr.getextras();/ 获取传入的数据,并使用bundle记录if (bundle.containskey(cwp.message) strinfos = bundle.getstringarray(cwp.message);/ 获取bundle中记录的信息strno = strinfos0;/ 记录idstrtype = strinfos1;/ 记录类型typemode = modifyinp;if (strtype.equals(btnininfo) / 收入type = income; else type = pay;5.4 百度语音记账界面语音记账使用百度相关语音api,用户按照一定说话顺序进行识别记账,例如“我今天早餐在餐厅吃了20元”。用户可以点击开始语音开始记录信息。语音说完以后,如果语音格式错误,则会提示具体错误,语音格式正确的话,则可以选择保存或者取消。具体见图5.4所示。 图 5.4百度语音记账界面图部分代码如下:void voicesuccess() / 识别成功录入数据if (dialogshowutil.dialoggettype() != null) type = dialogshowutil.dialoggettype();voicedefault = dialogshowutil.dialogvoicedefault();string textremark = txtmark.gettext().tostring();if (typemode = add) / 添加模式if (type = pay) / 支出rb1.setchecked(true);spdatalist = ptypedao.getptypename(userid);txtmoney.settext(voicesave1);/ 显示金额txtmoney.settextcolor(color.parsecolor(#5ea98d);if (voicedefault = notype) / 如果没有默认类别sptype.setselection(integer.parseint(voicesave5);/ 显示语音识别 else sptype.setselection(integer.parseint(voicesave0);/ 显示类别txtmark.settext(textremark + + voicesave2);/ 显示备注5.5 收支类型管理界面增加或删除收支类型,并且还要判断类型是否为空或者重复或者是否合理。点击添加按钮,可以输入文字,选择保存后则会在相应类型上添加类型。而如果要删除相关类型,可以选择在相应类型的后面选择对应的打钩符号进行选择,点击删除,确定删除后,类型界面会重新刷新,此时相应的类型删除,即消失。具体见图5.5所示。 图 5.5收支类型管理界面图部分代码如下:private void deletedialog() / 退出程序的方法dialog dialog = null;customdialog.builder custombuilder = new customdialog.builder(inptypemanager.this);custombuilder.settitle(删除).setmessage(您确定要删除吗?).setpositivebutton(确定, new dialoginterface.onclicklistener() public void onclick(dialoginterface dialog, int which) ondeleteclick();toast.maketext(inptypemanager.this, 已删除!,toast.length_long).show();dialog.dismiss();refresh();).setnegativebutton(取消, new dialoginterface.onclicklistener() public void onclick(dialoginterface dialog, int which) dialog.dismiss(););dialog = custombuilder.create();/ 创建对话框dialog.show(); / 显示对话框5.6 收支报表界面收支报表界面显示用户各项花费数目及所占比重,同时可以自定义报表分析,如自定义时间范围、自定义选择支出或者收入分析等。可以转动报表滑轮来查看所代表的相关收支类型和相关信息。同时可以通过两边额侧滑来选择下一个月或者上一个月的报表数据。同时可以点击侧拉按钮,选择相关的自定义功能,进行设置。具体见图5.6所示。 图 5.6收支报表界面图部分代码如下:private void clickpop_photoviewbtn() intent intent = new intent(paychart.this, addpay.class);/ 创建intent对象intent.putextra(cwp.id, userid)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论