《毕业设计(论文)基于Android的生活小管家.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于Android的生活小管家.doc(35页珍藏版)》请在三一办公上搜索。
1、 引言近年来随着移动平台的逐渐崛起,越来越多的传统PC软件被转移并应用到移动平台上,比如ipad,iphone,Android等智能终端设备,在这些平台中,Android占领着最大的市场份额,很多手机终端采用的都是Android手机系统。所以开发研究方便Android用户日常使用的软件成为了现在电子终端市场的一大热门。在现在移动平台走时尚前端的时代,传统的PC软件已经没有办法满足用户了越来越高的需求了。它们不方便携带,只能在家中或是办公室等特定的地点使用地点使用,这样非常不方便,给人们的日常生活带来了极大的不便利。那么针对这种情况,移动平台软件就很好的解决了PC软件的不足,它就能够随时随地的使
2、用,且方便携带。我们可以把软件安装在手机等移动终端设备中,想使用的时候,只需要拿出手机就可以马上应用工具软件,可以做到想用的时候马上就能用,不用在担心只能在PC机上才能够使用各种工具软件,在携带方便的手机一样可以做到。本毕业设计是应用在手机端的工具软件,比传统的PC端软件方便很多,他方便携带。与Android手机软件中的其他工具软件相比也有一定的优势,本毕业设计生活小管家,是将手机端的理财软件和记事本软件的功能集中到一个软件中,这样用户在下载工具软件的时候可以做到只下载一款手机软件却可以用到两个功能软件的功能,既为手机的内存节约了空间又可以避免手机软件过多不知道该使用谁的烦恼。为用户的日常生活
3、提供了一步到位的工具软件。本毕业设计界面设计简洁大方,让用户使用起来既方便又舒心,同时简洁大方的界面设计让用户使用起来干到非常的方便,不会出现因为一些花哨的界面设计而让用户不知道如何使用工具软件的情况。本软件的优势主要体现在以下几方面体现:1随时随地使用,不受地点限制;2集多功能于一款软件,为手机节约内存;3操作方便快捷,多用户独立使用;4数据永久性保存,随时可以翻阅查看。1 绪 论1.1课题的研究背景随着近年来手机在人们生活中地位的的逐步提升,拥有手机的人口也逐渐上升,近几年更是大幅度上升,几乎人手一款手机,有的家庭可能没有电脑,但是却很少有家庭没有手机。而在这些拥有手机的人当中有60%的人
4、用的是智能手机,随着Symbian系统的淡出人们视线,当今智能手机最大的三个手机平台分别是ios、Android以及windows phone。其中以ios和Android占多数,但是其中的ios开发平台是苹果特有的应用系统,不能被其他手机应用,所以Android在市场上的占有率最高,几乎可以满足所有用户。所以Android系统的手机软件的开发非常重要。 Android平台是一个面向大众的平台,分布在低、中以及高端市场,在每个等级的市场都有人们喜欢的机型,而且与苹果不同的是Android是开放源代码的,开发者以及对程序有序曲的研究人员及使用者都可以在网上查到Android系统的源代码。在开发语
5、言上Android主要使用的是JAVA的开发语言,语言易懂。所以Android成为了现在市场上手机系统应用最多的系统,所以在这种市场上使用量很高的的系统平台上开发一款人们在生活中经常使用到的工具软件是很有市场价值的一个做法。由于手机天然具备方便携带的特点,所以在生活中可以给用户的日常生活带来很大的便利性。1.2本课题研究现状 Linux平台开放源代码的手机操作系统是Android的基础。Android手机操作系统在智能手机应用的操作系统中具有统治性的地位,其主要语言是以Java为编程语言。Android手机平台在当今的手机市场上占有主导性地位,现在Android手机系统平台最大的抗衡对手就是苹
6、果手机的ios手机系统。但是苹果拥有自己特有的一套产品,而且其对产权的保护非常严谨,源代码不开放是它产品种类少的很大一个原因。而Android系统则不同,Android是开放源代码的。他可以满足很多手机厂商的要求,而且在推广自己技术方面Android做了很多努力。谷歌公司专门和几十个手机公司建立开放性手机联盟,源代码共享,所以Android手机系统平台在手机系统平台的市场上占的份额非常大。在手机的销售情况上Android系统的智能手机也是占有主导性地位的。Android现在最新版本的SDK为Android 4.4.2。现在应用在Android智能手机中的工具软件非常的多,应用非常很普遍,应用范
7、围也很广泛。主要在日常生活、出行、应用软件办公,在手机中安装游戏软件进行游戏等等,遍及方方面面。在进行软件开发前我专门在网上解了一下现在各种类似手机软件的现状。有很多类似手机理财软件。例如:超级理财手机软件,小福理财软件,盈盈理财软件等等。手机的记事本软件也有很多。例如:粉红日记,随手记,小米便签等。但是能集手机理财和记事本于一体的手机端软件并不多,安装这样一个软件在手机上既可以每天记录自己的每一笔收入和支出情况,也可以在需要的时候在变签功能处记录自己要记录的事情或是出行提醒等等。这样既可以为手机内存节约空间又可以做到安装一个手机软件却做了两款软件的事,非常的方便实际,所以开发一款这样的生活小
8、管家软件是非常有意义的。1.3本文研究内容本文的主要研究内容是:开发并实现一款应用在手机端的生活小管家软件并且介绍这个软件是如何应用的。同时在原理端要介绍应该如何利用Android中的SQLite数据库来实现并向大家展示软件的内容写入与读出,如何在activity中展示自己的界面设计和软件基本功能的使用等等这些问题。本毕业设计设计的软件在界面设计上采用的是简洁大方的简单美式界面设计,让使用者一打开软件就将所有功能尽收眼底,没有那么多花了呼哨的东西,使初学者一看就懂一学就会。操作简单,使用方便。对UI的设计应用了现在比较主流的设计观念:在软件界面的设计上采用简单且美观的设计方案。在操作设计上希望
9、让使用者易学易懂。虽然与电脑端的软件相比手机端的比较简单,但是在实用的功能上并不比电脑端的差,做到既可以在手机端完成电脑上的要做的任务,又在设计方面做到了简单的界面设计和让使用者在使用该工具软件时容易入手,上手就会用。本软件在功能的设计上主要包括的功能有用户注册、用户登录、支出管理、新增支出、收入管理、新增收入以及对收入和支出的删除和修改等功能,同时软件还具备便笺的功能 ,可以当作记事本使用等等。软件的设计步骤:1) 查阅资料了解相关的内容,明确本毕业设计开发的软件的意义,明确软件中要实现的计数功能和要通过什么样的方式方法来实现此软件,确定整体的软件框架。2) 进行市场调查来了解软件使用人群的
10、习惯以及对软件的看法,对用户的需求进行调查分析,以便开发出的此软件能让使用者更得心应手。3) 起草每个要实现的功能模块,画出正确的模块图。4) 搜集制作软件的素材。如:界面的设计图等。5) 对软件的数据库进行完善,创建数据库的数据表。6) 给各个功能模块编写代码并实现他们。7) 对界面布局进行设计。8) 进行软件的系统测试并根据测试出的结果改进。1.4本论文框架介绍本文详细的介绍了基于Android手机平台的生活小管家的设计理念和实现的全过程。从设想到实现,将会从以下的几个章节进行实现并给予介绍。第1章 绪论,在这章中主要是对本次毕业设计所设计开发的系统平台进项问题的定义,通过对问题的定义使人
11、们明白需要对工具软件进行哪些功能上的设计,并且在此章对要开发软件的功能及意义进行简单的介绍和描述,同时还在本章中对要研究课题的背景和使用情况进行调查研究,对用来开发此工具软件的操作平台进行可行新研究以及分析软件的可行性。第2章 对与软件相关的技术及开发平台进行介绍,对该软件中应用到的理论知识和用到的开发工具进行描述和介绍。第3章 对系统进行分析,此章主要介绍了本手机操作系统需要实现的功能模块和系统的数据库设计、数据表设计以及界面的设计等。第4章 展示系统的设计,主要介绍了本毕业设计工具软件的这个设计过程、设计思路和设计中需要注意的一些细节性问题。第5章 对系统编码的实现与测试,主要介绍了本毕业
12、设计的实现环境和本设计是如何实现的,并且对软件的功能进行测试,强调了测试在开发软件的过程所占得重要地位,最后展示系统的测试过程及最终结论。 最后:对全文进行总结、致谢、标注参考文献。 2相关技术及开发平台2.1 开发工具及环境简介1. Eclipse Eclipse是一个开放源代码的操作平台,编程语言是基于Java的编程语言。如果单就Eclipse来说,Eclipse只是一个开发的框架和一组服务,他是通过插件组件的方式构建开发环境的。另外Eclipse有一个自身的标准插件集,其中里面包括了Java的开发工具-JDK。Eclipse是一种跨越平台的、在集成方面相对自由的开发环境。主要是用Java
13、编程语言进行开发的,作为一个本身只是一个框架平台的Eclipse来讲,Eclipse具备其它软件所不具备的灵活性都是因为插件的支持。很多的软件开发商开都是以Eclipse为框架开发自己的IDE的。在源代码方面Eclipse是一个开放源代码的开发环境,因为开发源代码所以给很多人带来了便利,每个人都可以免费的看得到自己想要研究的程序的代码,允许用户的修改和重新编译。正是由于开放源代码带来的便利,所以越来越多的人开始关注Eclipse的开发平台,很多的大公司都争先恐后的加入到Eclipse项目的研发中来,甚至有人说Eclipse会在语言开发方面成为最大的集成者。2. SQLiteSQLite是一个轻
14、量型的数据库,他的设计是开源的嵌入式数据库,与其他的数据库相比SQLite数据库的系统开销小且检索效率高,因为SQLite是嵌入式数据库所引擎所以不需要一个单独的数据库,只要将程序直接去进行相关的调用就可以完成对数据库的存取。由于SQLite需要的资源空间很少即可所以在嵌入式设备中他只需要很少的内存空间就可以了,这大大的为设备节约了内存。SQLite的应用非常广泛,不但可以应用在Windows/Linux/Unix等操作系统上,所以可以应用于电脑等固定的设备上。同时SQLite还可以和程序语言相结合应用在手机等移动设备上。开源的数据库管理系统还有很多,比如:Mysql、PostgreSQL,但
15、是和SQLite相比显然他们的速度没有SQLite快。SQLite可以完成对完备的且可嵌入式配备的SQL数据库引擎的实现,他的主要特点有:1).SQLite对事物的处理具有原子且一致以及独立和持久的特点。2).SQLite的配置零所以不需要安装以及类的注册等,只要有一个动态的链接链接数据库到数据库文件,这样就可以完成对数据管理的全部工作。3).SQLite是一个单独且完整的数据库。4).SQLite的代码量非常的小,可以为手机内存节约很多的内存空间。3. ADTAndroid使用的开发工具是Eclipse,Android Development Tools简称ADT。它的主要功能是提供安卓开发
16、的工具。4.Android SDKsoftware development kit简称SDK 。是Android 的一个软件开发的工具包。常应用在指定的软件框架和硬件平台上以及操作系统中。2.2 Android系统 在当今这个智能手机为主流路线的时代,手机系统开发的竞争也非常的激烈,当下走在主导位置的就是Android的手机操作系统和苹果的ios手机操作系统。苹果有自己的一套特有产品,他应用自己特有的操作系统而其他品牌不能使用,这和他的产品种类少有着不可分割的关系,正是由于苹果特有的系统其他品牌不能使用所以它相当于是一个品牌在使用一个手机的操作系统,产品种类肯定不会很多。但是Android则不
17、一样,它的开发平台Eclipse是开发源代码的,允许开发者对他进行修改和编译的操作,所以他的支持者很多,Android手机操作系统可以安装在很多品牌的手机中进行应用。所以它的应用人群非常广泛,使用的用户量也非常多。市场上很多我们熟悉的手机品牌三星、HTC等应用的都是Android的操作系统。Android手机操作系统已经逐渐成为多数手机品牌在系统上的首选。2.2.1 Android 平台特性 Android系统有以下几大特性1 1)Android应用程序的框架支持组件的重用与替换。 2)Android内部使用的浏览求是基于WebKit引擎的。 3)可以对图形库进行优化。 4)SQLite 用作
18、结构化的数据存储 。 5) Android对多媒体的支持 包括支持常见的音频、视频和静态印象文件格式等。 安卓平台架构 Android 操作系统的体系结构从上图我们可以看出,Android操作系统的体系结构可大致分为4层,由上到下的顺序依次为应用程序层、应用程序框架层、核心类库和Linux内核层,下面分别来讲解各个部分。2.2.2 Android系统的四大组件 在Android手机操作系统中有四大核心基本组件分别是Activity、Service、Broadcast Receiver和ContentProvider每个组件都是一个视图。但是有些视图是可见的,有些视图是不可见的。Activity
19、ContentProvider都是可见的视图,Service和BroadcastReceiver是不可见的视图。不可见的视图只运行在系统的后台。下面分别介绍四大组件3 1Activity 的介绍 Activity是最基本的Android组件,在Android应用程序中一个Activity即一个可视化的用户界面,也可以称之为一个单独的屏幕。一般的应用都不是由一个Activity组成的,一般会包含多个Activity屏幕。一般情况下多个Activity屏幕组成一个安卓应用程序。当用户打开一个新的Activity时,前面的Activity就会暂时停止,当用户用完新的Activity还可以返回刚刚暂停
20、的Activity继续操作。每个Activity都不是一直运行的,都是有生命周期的,Activity的生命周期需要Android的系统控制。 2Service 的介绍 Service根据它的名字判断我们就知道它是一个服务程序。同时服务程序Service是生命周期较长的一种程序,在这种程序中我们看不到用户的界面层。在Service的服务程序中我们还可以对其进行暂停,重复等各项操作。通常我们都用Context.startService()函数来对Service服务进行启动。系统可以一直保持这个Service运行即便是在后台,直到它运行结束为止。如果我们想要定义一个Service一定要在配置文件An
21、droidManifest.xml中对文件进行注册。3Broadcast Receiver 的介绍 Broadcast Receiver是一种为了实现系统的广播而提供的组件,它是一个可以提供系统广播消息的组件。经过它处理的一定是对系统的广播消息。例如:手机电量不足的时候可以弹出提示框提醒手机电量不足。我们可以定义一个Broadcast Receiver来接收系统发出来的广播消息,从而做到电量较低的时候对用户进行提醒。4ContentProvider 的介绍Content Provider 可以对数据进行保护和检索。它可以对不同组件之间的数据进行共享。 3 系统分析3.1概述系统分析即在对系统整
22、体进行分析研究的同时,也对软件的摸个子系统机型调查研究,分析它子系统的可行性。最后对系统的功能和应用方向等进行了解。系统分析的主要目的就是由系统仔细分析员来分析并了解每个系统的大概流程和工作原理,以及用户对系统的需求等。根据以上信息来完成计算机的信息化系统的设计与开发。3.1.1系统分析的原则对系统的分析必不可少,同时在对系统进行分析时会遇到很多的困难,为了能够更好地对系统进行分析,就要努力去克服这些困难。那么在对系统进行分析的时候就要遵循一定的系统分析的原则来是我们的分析更顺利。只有这样我们才能更好的完成系统分析的工作。对系统分析时主要要遵循的几点基本原则有:1. 在设计上要将物理设计和逻辑
23、设计分开来。2. 系统设计要满足面向用户的基本原则。3. 系统设计在结构方面要满足结构化分析原则。3.1.2系统分析的方法该系统对系统分析的方法主要是将系统抽象化,并且以分解的方式对其进行分段的系统分析。也可以从结构上采用结构化的方法对系统进行仔细的分析。根据调查员在实际中对现实情况的调查将系统从上至下依次对每层进行分解及细致的分析。最后监理处能满足用户需求的新的系统的模型。建立模型时要本着尽量避免使用计算机的专业语言,可以将模型更简单化,最好使其通俗易懂,这样更有利于设计人员与使用用户的沟通交流。3.2性能需求分析需求分析是在软件开发前对针对整个软件的开发过程及软件产品的质量进行的重要的分析
24、。对软件的性能有一个大概的了解,对软件的性能需求仔细分析,进行这样的性能分析是为了使软件能够长期的运行在安全、稳定且效率高的环境中。3.2.1 实用性原则本软件可以在任何时间任何地点对用户的消费情况进行记录和查看以及备忘录的使用。解决了人们以往只能在PC端进行理财的不方便。如:在超市买了什么东西直接掏出手机记上一笔即可,在理财软件还不能运行在手机端时人们可能要先将话费的金额记住或是先记在纸上,这样非常的不方便,可能当时没记住就忘了,记在纸上回家之后再即到电脑上也感觉很麻烦,既然有了手机这个移动设备人们的生活就方便多了,在应用理财软件时可以随时随地的记上一笔,非常的方便实用。3.2.2 可扩展性
25、与可维护性原则既然现在理财可以在手机上进行,那么今后还会有更多人们当初不敢想象的软件或是功能是现在手机这个方便携带的移动设备上,因为这样可以既方便也可以做到和电脑上相同的事,同时人们不用再因此被禁锢在家中或办公室中了。所以为了我们能够适应将来的生活业为了手机软件能够适应将来的发展。所以人们能够用到的工具软件软件应该具备好的可扩展性以及易维护性。在对系统进行设计的时候应该最大限度的做到将其模块化和组件化。因为Android有很多款产品,在不同的终端上都有Android的产品,所以有效的保护好自己的已有资源是非常重要的。安装在安卓系统上的任何软件的安装和卸载都很容易,系统扩充升级方便简单。不当用户
26、当前的要求及需求被满足,今后在有所升级后的一些需求也被考虑得很周到。3.2.3 安全可靠性原则本毕业设计软件时基于手机端使用的生活小管家软件,在安全性方面和其他的工具软件都是一样的,不存在残留用户信息及隐私的问题。3.2.4 用户界面美观原则本毕业设计开发的软件在界面的美观设计上采用的是简单美的设计原则,用户看上去界面简单舒适,没有那么多复杂的设计,各种功能也都清晰的展现在用户的眼前,相比于其他复杂的软件此软件在功能上绝不逊色于任何其他的生活管家软件,同时在设计上还给人一种简单且舒适的感觉。使用户初次上手就会用,不存在一个研究学习怎么使用此软件的过程,简单易懂,上手就会用。3.2.5 准确性与
27、原则性原则开发出一个软件怎么断定它是成功还是失败呢,软件的准确性是一个非常重要值得参考的关键问题。本毕设开发的软件在开发前都进行了调查,用户喜欢哪种界面设计,同时对数据方面也做了大量的研究实验。所以此软件在准确性方面一定是值得信赖的。3.2.6 易用性原则此软件应用在Android系统的移动端,例如手机等设备上,手机的最大优点就是它具有天然的携带方便的优势,所以把生活小管家软件安装到手机上,人们携带方便,使用也非常的方便,随时都可以应用软件。同时此软件采用的简单美的界面设计,就是为了可以做到让每个使用者都可以无师自通,使用非常的简单方便,所有功能尽收眼底,不存在还要花时间学习怎么使用软件的问题
28、。3.3 系统可行性分析本软件是以用户的需求开发并且设计的,可行性就是软件的开发人员需要根据系统的可行性进行研究分析和开发。下面将从社会可能性、经济可能性、技术可行系以及操作可行性方面进行具体的分析。3.3.1 社会可能性在当今社会中,人们的生活节奏越来越快,生活逐渐步入了电子化设备走主流路线的趋势。在这样的情况下,人们不在满足于纸笔的记录花销的方式,曾经PC机上理财也一时兴起,但是由于其不方便携带,所以并不能很好的满足用户的需求。例如在超市里面或是市场上买完东西后想让记录开支,但是却还要等到回家开启电脑才能记录,这样非常不方便的记录开销的方式也为理财软件能在手机端上流行起来了起铺垫性的作用,
29、手机天生便于携带,人们可以在想记得时候随时拿出手机记录自己的话费及开销情况,这给我们的生活带来了很多的方便。本毕业设计要开发的软件就是一个基于手机端的几手机理财和日常的记事于一体的生活小管家软件。手机现在几乎是人手一台,所以开发一款这样的软件具有社会可行性。3.3.2 经济可行性经济可行性就是指开发的软件能够给厂商带来的有效的经济收入,从用户方面来讲就是用户能够接受软件以及安装软件的平台的价格等。厂商需要从经济可行性方面进行测试,看看开发出来的软件能不能给自己和使用者都带来经济上的效益。现在科技发达,人们的生活水平也在逐渐以平稳的水平上升。十几年前还是稀罕物品的手机现在几乎是人手一台,且各式各
30、样,品牌各不相同。在这样的社会环境下,厂商们开始将目光由PC端转移到手机等移动设备上。开始开发专门用于手机端的各种工具软件,而这些软件的下载几乎都是免费的,即使收费也非常的少,都在用户们可以接受的范围内。安装软件的设备几乎人手一台,这样就有了软件运行的基本条件,为开发基于手机端的各种手机软件提供了很大的市场,所以在经济可行性方面开发研究基于手机等移动设备端的工具软件也是可行的。3.3.3 技术可行性 安卓的软件开发主要应用的是java为主的开发语言进行开发。使用SQlite这个轻量型的数据库对数据进行数据的存取。只要下载Eclipse开发工具,开发环境则是Windows 7以上的操作系统都可以
31、。在电脑端进行模拟开发,成功后应用到手机上。对于初学者来讲也并不难,只要认真的看书学习后就能熟练的进行操作。3.1.4 操作可行性此软件是应用在Android手机操作系统的手机上及移动设备上的,当今市场上的智能手机中使用Android手机操作系统的占到了60%左右,这是一个非常庞大的集体。同时因为此软件的界面设计简洁大方,不花哨,让使用者更容易学会如何使用。所以在操作可行性上面不存在任何问题。3.4 系统各模块功能简介1.用户登录界面:本软件要先登录后用户才能使用,登录的时候需要用户提供帐号和密码。2.用户注册界面:本软件需要用户使用用户名和密码进行登录后使用,如果用户没有帐号的可以先通过注册
32、模块注册一个账号,注册时填写自己今后想要应用的用户名及密码。3.收入管理模块:用户可以在收入管理模块添加自己的收入记录,选择金额和收入的日期以及收入的类型,即:来自什么方向的收入。选项以列表的方式为我们提供了生活中经常能用到的收入来源。如:工资收入、彩票收入、银行利息收入等很多项,用户只要在下拉列表中选择即可。同时收入管理模块还有修改和删除的功能,当用户想要删除此条收入记录时长按屏幕会弹出新的Activity屏幕,在其中选择你要进行的操作后保存即可。4.支出管理模块:用户可以在支出管理模块添加自己的支出记录,选择金额和支出的日期以及支出的类型,即:花费的大致用途。选项以列表形式为我们提供了生活
33、中常能用到的一些消费方向的选项。如:彩票投资、学习进修、孝敬父母等多个选项。用户只要在下拉列表中选择自己的消费去向即可。同时支出管理模块也有修改和删除的功能。用户长按屏幕就可以对自己选中的支出进行修改和删除的操作了,对选型进行操作后保存该操作即可。5. 统计管理模块:统计管理模块包括每个月对收入管理和每个月对支出管理的统计。分别以饼图的方式统计处本月的收入和支出的情况,饼图中会将各个收入和支出的情况分为一个个的小扇形进行统计。这样扇形面积大的区域对应的消费就高,这样可以是用户从饼图上非常清晰的看出自己最近哪些方面的花销大,哪些方面的收入大等问题。用户可以通过图形的方式更直接的了解自己的收入支出
34、情况。6.便笺管理:便签管理模块主要是对日常的一些细小问题,容易忘记的事情进行记录,起到提醒的功能。类似于记事本等软件,可以记录生活中小细节。便签管理模块也有修改和删除的功能,操作同样是长按屏幕在弹出的Activity新屏幕中选择要进行的操作。修改或删除,操作完成后对修改就行保存即可。7.系统设置:在系统设置界面主要包括对自己密码进行修改的功能。3.5 系统使用流程分析本软件完成了一个生活小管家软件的设计与实现,用户进入后没有账号的需要注册一个账号并设置密码,已经有账号的可以直接登录。登陆后进入到直接面,可以看到收入管理、支出管理、便签管理和系统设置四个主要功能。单击支出管理可以进入到支出管理
35、中对支持进行管理。可以添加新的支出,选择好时间,消费类型和支出金额后保存。收入管理和支出管理类似,单击进入收入管理,选择收入的来源金额,一斤收入的日期后进行保存。此笔收入就会显示在收入管理中了。随时可以查看。如果需要对收入或是支出有所改动可以长按屏幕在新弹出的Activity中选择要进行的操作,修改或删除。操作完成后保存该操作,回到前一个Activity则之前的记录会改成修改过的收入或是支出记录。收入和支出管理中都有统计模块,主要是对收入和支出的类别进行统计,以扇形图的方式统计出消费的主要用途以及收入的主要来源。使用户可以在扇形图上清晰的看到每个月的收入和支出情况。在便签管理模块中可以记录日常
36、的容易忘记的琐碎小事。系统设置界面则是对用户密码的更改操作。操作完毕后返回键可以退出系统。下图3.1是系统的流程图:图 3.1 软件管理流程图 4 系统设计4.1 系统设计目标系统设计只要是在经过系统分析的基础工作后,设计完成能够满足要求的系统。系统的设计内容主要有:首先确定系统设计的方法,然后将总的系统分为若干的分系统,分别确定每个分系统的功能及开发目的。最后对每个分系统和总系统进行整体的设计和方案研究及评价等。本此毕业设计的项目就是开发一个基于Android的生活小管家软件,可以从根本上满足人们在手机端理财及记录生活琐事的需求,从总的系统来看简单易操作。在界面的设计上采用简洁大方的设计,使
37、用户使用起来容易上手,操作简单。在界面的设计上每一步都精心设计,希望用户使用起来更得心应手,给人一种界面既简洁又大方且美观的感觉。减少隐匿的功能,尽量使每个功能都能被用户一眼看到 ,这样可以省去很多时间,避免时间花费在花费在研究怎样使用软件上的时间。4.2 系统功能模块设计本系统在功能模块方面主要设计了用户的注册模块、用户登录模块、收入管理模块、支出管理模块,便签管理模块和系统的设置模块等几个功能模块。系统的模块架构设计如图4.2所示:图 4.1 系统功能模块图4.3 系统数据库模型设计本系统使用Android自身携带的轻量型的数据库SQLite。设计了三个数据表来记录信息,这三个数据表分别是
38、用户信息表、收入支出信息表以及便签信息表。其中用户信息表用来记录当前已经注册过的用户的信息,在用户使用端实现了多用户相互独立使用此软件的功能。用户的收入和支出的情况则在收入支出信息表中进行保存。而用户在便签模块中记录的生活细节则保存在便签信息表中。(1) E-R图的概述E-R图也即实体-联系图,从图上我们可以看出实体性,实体性的属性以及他们之间的联系。E-R常被用来描述现实世界中的概念模型。E-R方法:是“实体-联系方法”是将概念模型在现实世界进行描述的有效方法。E-R图的基本构成要素有:实体型、属性和联系。实体型(Entity):我们将具有相同属性的一个集合称为一个实体,如:教师实体、学生实
39、体、人的实体等等。在E-R图中用矩形表示实体型,实体名写在矩形框内。属性(Attribute):属性是实体所具有的特性,一个实体可以有多个属性,在E-R图中属性用椭圆来形表示,并且用无向边链接在属性和实体之间。联系(Relationship):联系是用来反映各实体之间关系的一个抽象概念,在E-R图中用菱形表示,联系名写在菱形的框内。并用无向边将联系和与联系有关的实体相连。同时要将联系的类型标注出来,是1 : 1,1 : n或m : n三种中的哪一种。画E-R图的步骤:1) 确定所有的实体集合。2) 选择并确定实体集中应包含的属性。3) 确定实体集之间的联系。4) 确定实体集的关键字。5) 确定
40、并标出联系的类型,将联系和实体集相对应用无向边连接好后在旁边注明联系的类型。本系统数据库ER图:图 4.3 用户信息E-R图图 4.(4 )收入和支出信息表E-R图图 4.5 文件信息E-R图 数据库表设计:编号表格名称表1用户信息表表2收入支出信息表表3便签信息表各个信息表的详细设计:表1: dbtable_user 用户信息表序 号列 名数 据 类 型主 键说 明1_idint是 主键2LoginidVarchar 帐号3PasswordVarchar 密码4CreatetimeVarchar 注册时间表格展示的是:登录帐号为:Loginid,登录密码为:Password,注册时间为Cre
41、atetime。表2: dbtable_data 收入支出信息表序 号列 名数 据 类 型主 键说 明1Idint是 2useridInt用户id3Titlenvarchar标题4typeNamenvarchar类型5createtimenvarchar 记录日期表格展示的是:userid为用户id,收入支出管理的标题为:Title,收入支出的类型是:typeName,创建收入支出记录的时间为:createtime。表3: dbtable_memo便笺信息表序 号列 名数 据 类 型主 键说 明1Idint是 3UseridInt用户ID4Bodyvarchar内容5Titlenvarchar
42、标题6createtimenvarchar添加时间表格展示的是:便签的内容为:Body,便签的标题是:Title,便签的创建时间为createtime。 4.4 工程文件结构设计在程序的开发阶段首先要确定“基于Android的生活小管家软件”的工程名为LifeButler,然后根据程序模块来设计内容,建立LifeButler项目,LifeButler项目的文件结构如图4.2所示:图 4.2 工程结构图为了使开发者查看代码时结构看得更加清晰,下面将LifeButler工程设置成了多个命名空间的工程。分别保存在了用户界面、数据适配器、常用的类库和实体多个包,程序的源代码名称以及对源代码名称的说明如
43、表4.(3)所示:包 名 称文 件 名说 明com.mm.lifebutler.activityLoginActivity.java登录界面视图com.mm.lifebutler.activityIncomeActivity.java收入列表界面视图com.mm.lifebutler.activityIncomeEditActivity.java收入添加界面视图com.mm.lifebutler.activityExpensesActivity.java支出列表界面视图com.mm.lifebutler.activityExpensesEditActivity.java支出添加界面视图com.
44、mm.lifebutler.activityRegisterActivity.java注册界面视图com.android.diary.activityCharActivity.java统计界面视图com.android.diary.activityMemoEditActivity.java便笺管理界面视图表 4.(3)系统代码结构Android的资源文件保存在res的子目录中。产生动画效果的XML文件在/res/anim目录中进行保存,图像文件在/res/drawable/目录中进行保存。/res/drawable/中又分别有三种高、中、低像素的三个文件夹,要将需要用的图片每个文件夹里面各放一
45、次,这样系统会自动选取适合屏幕像素的图片。将自定义字符串和自定义颜色的文件存放在/res/values目录中进行保存。XML格式的数据文件在/res/xml目录中进行保存。这些目录中保存着程序开发阶段的所有可以被调用的资源。具体的每个资源文件的用途如下表4.4:资 源 目 录文 件 名说 明Drawablebtn_comm_selector.xml按钮资源文件checkbox_selector1.xmllistview_item_selector.xmlspinner_bg.xmlLayoutactivity_login.xml登录界面布局文件activity _register.xml注册界
46、面布局文件activity _list.xml收入列表布局文件activity_incomedit.xml收入添加界面布局文件activity_char.xml统计界面布局文件valuesstyles.xml样式资源文件colors.xml颜色资源文件strings.xml字符串资源文件表 4.4 资源文件的文件名称及其用途 5 系统实现本章对系统各模块的功能进行介绍和实现。首先使配置开发环境,在Eclipse中配置好ADT和Android SDK等开发环境,然后是建立项目,建立一个项目名称为LifeButler的新的Android项目,最后要对本软件需要使用的权限进行配置,在Android项
47、目中的AndroidManifest.xml文件中完成配置生活小管家的主要功能有:用户登录,用户注册,收入管理,支出管理,数据统计,便笺管理和系统设置。本软件是一个应用在智能手机端的工具软件,软件可以通过SQLite数据库来实现用户数据的永久性管理,是用户日程生活中不可多得的一款实用性软件。5.1用户登录界面本软件需要在用户登录界面进行登录后才能使用,有用户账号的可以直接登录,没有用户账号的需要在此界面注册一个新的账号并设置密码才能使用。可以通过点击界面右上角的“注册”按钮进入到用户注册的界面进行用户注册。登录本界面包括两个EditText和两个Button组件,同时也包括一个Checkbox组件,