毕业论文-基于Android平台的理财软件批量处理、记账类别模块以及部分UI设计.doc_第1页
毕业论文-基于Android平台的理财软件批量处理、记账类别模块以及部分UI设计.doc_第2页
毕业论文-基于Android平台的理财软件批量处理、记账类别模块以及部分UI设计.doc_第3页
毕业论文-基于Android平台的理财软件批量处理、记账类别模块以及部分UI设计.doc_第4页
毕业论文-基于Android平台的理财软件批量处理、记账类别模块以及部分UI设计.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书设计题目: 基于Android平台的理财软件批量处理、记账类别模块以及部分UI设计学院 计算机科学与信息工程学院 专业年级 计算机科学与技术2011级 学生姓名 XXX 学号 XXXXXXXXX 指导教师 XXX 职称 教授 设计地点 XXX 日 期 2015年2月25日5月14日 目录1 绪论41.1课题背景51.2相关技术的基础知识51.2.1 Android开发的相关技术基础51.3 本文主要研究工作和章节安排82 Android的架构概述及开发环境搭建82.1 Android的架构描述82.2 Android的开发环境搭建82.2.1 环境的安装与搭建82.3 本章小结93 需求分析与系统总体设计93.1 概述93.1.1编写目的93.1.2读者对象93.1.3术语与缩写解释93.2 系统说明103.2.1产品开发背景和目标103.2.1.1 背景103.2.1.2 目标103.2.2 产品目标用户和最终用户103.2.2.1 目标用户103.2.2.2 最终用户103.2.3 系统软件的约束103.2.4 软件系统当前版本的范围103.2.5 软件系统的角色113.2.6 软件系统的功能列表113.3 功能需求描述113.3.1管家理财的功能需求113.3.1.1 业务流程123.3.1.2 需求描述123.4其他需求说明123.4.1软件硬件环境123.4.1.1硬件环境123.4.1.2 软件环境133.5 本章小结134 系统详细设计134.1 简介134.1.1目的134.1.2 范围144.1.2.1 软件名称144.1.2.2 软件功能144.2 总体设计154.2.1 总体设计思路154.2.2 记账类别子模块的划分164.2.3 记账类别模块页面流程164.3记账类别各子模块的函数接口194.3.1 记账类别主菜单函数接口194.3.1.1 描述194.3.1.2 模块ClassActivity类结构194.3.1.3 XML布局文件204.3.1.4 对外接口214.3.2记账类别添加模块上级目录函数接口234.3.2.1 描述234.3.2.2 ClassEditiActivity类结构234.3.2.3 XML布局文件254.3.2.4 对外接口194.4 数据库设计274.4.1 表结构274.4.2 访问数据库的实现274.5本章小结295测试296 总结316.1 毕业设计完成的任务326.2 收获和总结32参考文献33致谢33基于Android平台的理财软件批量处理、记账类别模块以及部分UI设计XXXXXXX 计算机科学与信息工程学院 20XX级软件X班 XXX指导老师:XXX【摘要】本文就在分析讨论Android手机软件开发原理的基础上,开发的一款能够提供一些日常的简单理财的软件,它能够记录用户每天的消费与支出,并且可以根据自己的意愿对于自己的消费和支出进行一个分类,之后又运用了Charts图表的形式非常直观的反映出来,这样可以对用户有一个直观的冲击,让用户体验到自己的消费水平与自己的收入之间的一个匹配度,以此来提醒用户如何去规划自己的生活,同时也能够查询过往时间的消费记录,这样让用户在后面能够从哪些地方去加以改善,以此来提高用户的生活质量。【关键词】 Android Linux手机理财Abstract In this paper, based on analyzing and discussing the Android mobile phone software development principle, the development of a simple routine can provide some financial management software, it can record the user consumption and spending every day, and can according to their own wishes for a classification for their own consumption and expenditure, and then use the Charts chart in the form of very intuitively reflected, this will have a direct impact on the user, allowing users to experience between their consumption level and their income of a match, to remind users to plan their own lives, but also be able to query past time records of consumption, so that the user can go in the back improved from where, in order to improve the users quality of life.Key words Android Linux mobile phone banking一 绪论1、课题背景随着经济的发展,人们的生活水平日益提高,人们的消费观念的不断转变,消费也从低级开始逐步向较高的层级递进发展,在满足物质消费的同时,人们更重视精神消费。尤其是现代化的经济生活,科学技术的作用日益显著,对劳动者素质的要求越来越高。人们不仅把钱用于物质方面,还很重视精神消费。精神消费用于增进人的精神健康、娱乐身心及发展提高自身的各种消费,而在这个经济发达的社会智能手机应运而生,而其中尤为突出的又属2008年Google推出了一款名为Android的开源智能手机系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。这款软件包括了操作系统,用户界面和应用程序,即智能手机工作所需要的全部软件。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。在两者的结合之下,app应用也更是层出不穷,而本文就是在Android系统上设计了一款关于理财的软件。2、相关技术的基础知识(1)Android开发的相关技术基础Activity应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。Activty的生命周期onCreate:当活动第一次启动的时候,触发该方法,可以在此时完成活动的初始化工作。onCreate 方法有一个参数,可以为空值,就代表要重新创建实例,也可以是之前调用 onSaveInstanceState ()方法保存的状态信息。onStart:该方法的触发表示所属活动将被展现给用户。onResume:当一个活动和用户发生交互的时候,触发该方法。onPause:当一个正在前台运行的活动因为其他的活动需要前台运行而转入后台运行的时候,触发该方法。onStop:当一个活动不再需要展示给用户的时候,触发该方法。onRestart:当处于停止状态的活动需要再次展现给用户的时候,触发该方法。onDestroy:当活动销毁的时候,触发该方法。onSaveInstanceState :系统调用该方法,保存之前的状态。activity的四种加载模式standard::标准模式,一调用startActivity()方法就会产生一个新的实例。singleTop::如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,如果不位于栈顶,会产生一个新的实例。singleTask::会在一个新的task中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。singleInstance::这个跟singleTask基本上是一样,只有一个区别:在这个模式下的Activity实例所处的task中,只能有这个activity实例,不能有其他的实例。ServiceService是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过来声明。可以通过startservice和bindserverice来启动。Service和其他的应用组件一样,运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作,需要在其子线程中实现。Service生命周期startService() -onCreate()-onStart()-stopService() | -onDestroy() BroadCastReceiverBroadcastReceiver 用于异步接收广播Intent主要有两大类,用于接收广播的:正常广播,有序广播另外Broadcast Receiver 并没有提供可视化的界面来显示广播信息。BroadcastReceiver 生命周期一个BroadcastReceiver 对象只有在被调用onReceive(Context, Intent)的才有效的,当从该函数返回后,该对象就无效的了,结束生命周期。BroadcastReceiver 的两种注册方式:静态方式,在AndroidManifest.xml的application里面定义receiver并设置要接收的action。动态方式, 在activity里面调用函数来注册,和静态的内容差不多。一个形参是receiver,另一个是IntentFilter,其中里面是要接收的action。ContentProviderContentProvider主要用于对外共享数据,也就是通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对指定应用中的数据进行操作。Android的五种布局方式FrameLayout 帧布局,放入其中的所有元素都被放置你设定的区域,以后的元素都会在你的区域上重叠LinearLayout 线性布局,是应用程序中最常用的布局方式,主要提供控件水平或者垂直排列的模型,每个子组件都是以垂直或水平的方式来定位.(默认是垂直) AbsoluteLayout 绝对定位布局,采用坐标轴的方式定位组件RelativeLayout 相对布局,根据另外一个组件或是顶层父组件来确定下一个组件的位置。TableLayout 表格布局,以表格的形式布局,使用TableRow,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。android数据存储方式SharedPreferences存储数据;它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中。只能在同一个包内使用,不能在不同的包之间使用。 文件存储数据;是Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提供了openFileInput()和openFileOutput()方法来读取设备上的文件。 SQLite数据库存储数据;SQLite是Android所带的一个标准的数据库,它支持SQL语句,它是一个轻量级的嵌入式数据库。 ContentProvider存储数据;主要用于应用程序之间进行数据交换,从而能够让其他的应用保存或读取此Content Provider的各种数据类型。 网络存储数据;通过网络上的方式进行上传和下载。 还有很多其他的一些知识,在这里就不做一一介绍了。3、本文主要研究工作和章节安排第一章主要讲述了项目的来源、项目的目的和研究意义,并对本系统开发的一些基本知识进行了介绍第二章对android开发环境的搭配进行详细的说明第三章是关于需求分析和系统的总体设计第四章说明了关于系统的详细设计第五章对本次毕设进行了总结和展望二 Android的架构概述及开发环境搭建1、Android的架构描述Android系统架构图及各层介绍应用层:应用是用java语言编写的运行在虚拟机上的程序。应用框架层:这一层是编写Google发布的核心应用时所使用的API框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的结构设计,但是必须要遵守其框架的开发原则。系统运行库(C/C+库以及Android运行库)层:当使用Android应用框架时,Android系统会通过一些C/C+库来支持我们使用的各 个组件,使其更好的为我们服务。Linux内核层:Android的核心系统服务给予Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核,比如 Binder IPC驱动,android的一个特殊驱动程序,具有单独的设备节点,提供进程间通信的功能。2、Android的开发环境搭建(1) 环境的安装与搭建1)安装JDK将下载好的JDK安装好以后,设置环境变量步骤如下:a.我的电脑-属性-高级-环境变量-系统变量中添加以后环境变量:b.JAVA_HOME值为:D:Program FilesJavajdk1.6.0_18 (你安装JDK的目录)c.在开始追加%JAVA_HOME%bin;安装完成后,可以检查JDK是否安装成功。打开cmd窗口,输入java-version查看JDK版本信息2)安装eclipse3)安装 Android SDK4)安装 ADT5)创建AVD以上步奏完成之后就可以开发你的第一个android程序啦。3、本章小结本章主要介绍一些关于Android的基础知识,以及安装软件的安装,只有当你了解了基础知识,和安装好了软件之后,才能够开发你的Android程序呢。三 需求分析1、概述(1)编写目的用于方便个人生活的小软件,它能够非常方便的记录你个人财产的使用情况,能够用图表的方式直观体现你的经济使用情况,能够让你的生活更有规律,更有节奏。(2)术语与缩写解释缩写、术语解释APKAndroidPackageJNIJAVA native IntefaceSDKSOFTWARE DEVELOPMENT KITADT开发 Android 应用程序的插件2、 系统说明(1)产品开发背景和目标1)背景从改革开放至今,我国经济快速增长,居民的家庭财富也在不断积累扩大,人们未来面对的不确定性越来越多,这使每一个家庭必须要通过理财才能实现自己的家庭的生活目标和提高生活质量。由于理财的重要性,它日益成为家庭关注的焦点,目前我国居民的家庭理财规划方式较片面,理财中绝大多数只是关心财富增值效应,缺乏长期性、严谨性和科学性。所以我们希望能设计出一款能够提供一些日常的简单理财,提升个人以及家庭的生活质量。2)目标人们的生活水平提高,但是人群却分为了很多种类,比如月光族,蚁族等等人群的出现,这都是对于自己的消费没有规律造成的,并且还不知道自己的钱花到了何处,不过当你用到了管家理财这款软件之后,你所有的消费都能够一目了然,更是运用到了图表的方式,更直观的显示,这样下次就可以省掉很多不必要的支出,来保持你的收支,提高你的生活质量。(2)产品目标用户和最终用户1)目标用户安卓系统移动端使用者2)最终用户安卓系统移动端使用者(3)系统软件的约束客户端操作系统:Android系统;客户端硬件设备:Android手机登移动终端;JDK版本1.5以上;Android SDK版本2.2以上;开发环境:Windows 7操作系统开发工具:eclipse,sqlite;(4)软件系统当前版本的范围Android手机(5)软件系统的角色用户(6)软件系统的功能列表批量处理记账类别3、功能需求描述(1)管家理财的功能需求1)用例模型图1用户登录模型2) 动态模型图2用户总体流程图3 )业务流程记账类别的业务流程:图3记账类别流程图4 )需求描述记账类别:根据个人的需求添加出不同的分类,方便自己的管理,更清晰的显示你的消费和收入情况,其中分为两个打的模块:管理:把之前分好的类别的数据进行操作添加:添加新的类别,同时判断类别中与上级目录是否重复(2)其他需求说明1)硬件环境详细配置如下:基本类别类别Android手机结构Android软件系统系统支持Android系统2)软件环境Dev版本: Android手机4.4.4版本操作系统名称: Android手机开发工具: eclipse 软件体系结构: Android系统数据库版本: SQLite4、本章小结本章主要介绍实现该软件的需求分析,后期需要根据这个需求来完成设计。四 系统设计1、 简介总体E-R图: 图4收入-记账类别E-R图图5消费-记账类别E-R图(1)目的本文的目的是为了描述记账类别模块的软件设计思想,主要包括:介绍记账类别模块的总体设计思路;描述记账类别模块的子模块划分;描述记账类别模块各子模块间的关系和内部接口;着重描述记账类别各子模块的设计思路和实现方法。本文档经过需要经过评审以后,为后续的编码做准备工作,并且该文档将为系统测试计划以及测试用例写作的提供必要的相关参考信息。该文档也可供软件组其他模块软件开发人员、测试人员参考之用。(2) 范围1) 软件名称记账类别模块详细设计说明书2)软件功能a.点击记账类别,从主菜单进入记账类别管理主界面b.管理模块下会显示你的所有收入以及消费的目录c.长按管理模块下的消费目录会弹出操作主界面d.点击操作界面的修改按钮,会进入修改页面,并且会将之前的数据传入修改页面e.点击操作界面的删除按钮,会弹出一个提示界面,询问你是否删除,如果点击确定,这条数据就会被删除,点击取消就会回到主菜单f.选择添加模块的时候,就会进入添加主界面g.你可以在主界面添加你新增的数据,并且进行一些判断h.当你点击上级类别的时候,会弹出你之前新增的目录结构i.点击是否重复按钮的时候,会根据你输入的字符串与数据库中的数据进行匹配,重复则不可添加,不重复才能够使用,以及其他的一些信息j.点击重设,所有的数据会清空k.当可以添加成功之后,会回到记账类别管理界面2、总体设计(1) 总体设计思路记账类别总体结构图图6记账类别总体结构图(2)记账类别子模块的划分 根据所需实现的功能和总结设计思路,也为了对记账类别进行有效管理,在详细的设计过程中,我们把记账类别模块划分为以下几个子模块来进行实现。管理子模块a. 修改子模块b. 删除子模块添加子模块a. 添加子模块b. 判断类别模块管理子模块:用于管理我们插入的记账类别信息添加子模块:用于添加新的记账类别信息修改子模块:用户修改自己已经存在的类别信息删除子模块:用户可以根据自己的需要删除类别信息判断类别模块:用户可以根据自己的需求生成父级与子级目录(3) 记账类别模块页面流程根据需求分析时所定义的功能,我们对记账类别模块从界面上做一个介绍.总体框架图: 管理模块流程: 添加子模块流程: 判断上级目录模块: 3、记账类别各子模块的函数接口(1)记账类别主菜单函数接口1)描述主菜单模块主要是实现用户与记账类别各模块进行交互的接口,用来对子模块功能进行选择。本模块是基于TabActivity类来实现的。2)模块ClassActivity类结构public class ClassActivity extends TabActivity 主要包括如下函数:protected void onCreate(Bundle savedInstanceState) /用于初始化加载图形界面public boolean onContextItemSelected(MenuItem item) /对条目的选择功能进行设置,eg:操作,修改,删除等private void updateManageFclassListViewAdapter(ListView lv, long _pid,int type) / 管理页面动态显示类别private void updateAllFlcassListViewAdapter(ListView lv, long _pid, int type) / 对界面的功能操作之后,更新界面private void updateAllFlcassListView(long _pid, int type) / 添加类别页面动态显示类别private void setAllFcclassDialogListener() /给记账类别中的控件添加监听时间private void deleteItem(final long _id) / 删除类别private boolean checkIsRepeat(String name) / 根据名称查询在已有类型(不含自己)中是否已经存在该类别的名称private boolean insertBefore() /判断是否能够插入数据private void insertFclass() /用于插入数据private long getIdByName(String name) / 根据Name查询表中已存在记录的IDprivate String getNameById(long _id) / 根据ID查询表中已存在记录的Nameprivate Fclass getFclassById(long _id) / 根据ID查询表中已存在记录private ArrayList getSubFclassByParentId(long _pid) / 根据子类别中的父类别ID属性值查询子类别protected void onStop() /查询结束之后关闭游标3)XML布局文件activity_fclass.xml /用于对页面的总体的布局,在这个类模块加载管理模块理模块dialog_fclass_allclass.xml/用于显示添加的所有数据的布局dialog_countdelete.xml/用于询问是否删除数据的布局item_fclass_manage.xml/用于显示单条数据显示的样式activity_fclass_edit.xml/操作中的修改界面样式4)对外接口点击事件监听接口原型public void onClick(View v);描述用来设置点击事件输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无用户选择事件监听接口原型public void onItemClick(AdapterView parent, View view,int position, long id);描述用来响应用户Item的选择输入键盘或鼠标点击输出根据用户选择的条目,显示对应的功能界面返回无设定用户需要界面监听接口原型lv_fclass_mange.setOnItemClickListener(new OnItemClickListener() 描述设定用户需要的选项,根据用户的选择来显示相应的画面输入键盘或鼠标点击输出无返回无操作选项监听接口原型lv_fclass_mange.setOnCreateContextMenuListener(new OnCreateContextMenuListener() 描述根据需要设定相应的操作选项输入键盘或鼠标点击输出无返回无目录选项监听接口原型edt_fclassinsert_parent.setOnClickListener(new OnClickListener() 描述点击此选项时,输入父级目录输入键盘或鼠标点击输出无返回无操作目录界面监听接口原型btn_fclassinsert_parent.setOnClickListener(new OnClickListener() 描述点击此选项时,弹出父级目录输入键盘或鼠标点击输出无返回无判断监听接口原型btn_fclassinsert_isrep.setOnClickListener(new OnClickListener() 描述点击此选项时,判断你的目录是否按规定输入输入键盘或鼠标点击输出无返回无成功插入接口原型btn_fclass_insert_ok.setOnClickListener(new OnClickListener() 描述点击此选项时,你输入的数据成功则可成功插入输入键盘或鼠标点击输出无返回无取消插入监听接口原型btn_fclass_insert_reset.setOnClickListener(new OnClickListener() 描述点击此选项时,取消插入,所以的数据清空输入键盘或鼠标点击输出无返回无取消选择监听接口原型btn_fclass_chose_cancel.setOnClickListener(new View.OnClickListener()描述点击此选项时,取消你选择的类别输入键盘或鼠标点击输出无返回无长按操作监听接口原型lv_fclass_allclass_item.setOnItemLongClickListener(new OnItemLongClickListener()描述长按可以选中这个条目输入键盘或鼠标点击输出无返回无确定选择监听接口原型lv_fclass_allclass_item.setOnItemClickListener(new OnItemClickListener() 描述点击此选项时,进入你选择的这个条目输入键盘或鼠标点击输出无返回无(2)记账类别添加模块上级目录函数接口1) 描述记账类别添加模块主要用于用户添加自己新增数据目录信息,来分类管理自己的消费情况,他是基于Activity类实现的。2)ClassEditiActivity类结构public class ClassActivity extends TabActivity 主要包括以下函数:protected void onCreate(Bundle savedInstanceState) /用于加载添加主界面private void updateOtherFlcassListViewAdapter(ListView lv, long _pid,int type) / 更新ListView的Adapterprivate void updateOtherFlcassListView(int type) /根据不同的类型显示不同的界面private void setDialogListener() / 设置对话框中的各个控件的各种事件public Fclass getFclassById(long _id) / 根据ID查询表中已存在记录private boolean checkIsRepeat(long _id, String name) / 查询除自己外的是否有与自己重名的类别private boolean updateBefore() /判断是否满足条件更新private void updateFclass() /更新记账类别里面的数据private long getIdByName(String name) / 根据Name查询表中已存在记录的ID3) XML布局文件activity_fclass.xml /用于对页面的总体的布局,在这个类模块加载添加模块理模块其中包含BUTTON,EDITTEXT等控件的样式设置。4)对外接口点击事件监听接口原型public void onClick(View v);描述用来设置点击事件输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无插入更新数据监听接口原型edt_fclassupdate_parent.setOnClickListener(new OnClickListener() 描述点击插入更新数据输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无判断输入数据监听接口原型edt_fclassupdate_isrep.setOnClickListener(new OnClickListener() 描述判断你插入的数据是否属于正确的数据输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无备注信息监听接口原型edt_fclassupdate_remark.setOnClickListener(new OnClickListener() 描述插入备注信息输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无更新父级目录监听接口原型btn_fclassupdate_parent.setOnClickListener(new OnClickListener() 描述更新父级目录数据输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无判断事件监听接口原型btn_fclassupdate_isrep.setOnClickListener(new OnClickListener() 描述点击之后,判断目录是否重复,或者格式是否正确,则可以插入目录输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无插入数据监听接口原型btn_fclass_update_ok.setOnClickListener(new OnClickListener() 描述所有需要输入的都正确,则可以插入整条数据输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无还原数据监听接口原型btn_fclass_update_back.setOnClickListener(new OnClickListener() 描述点击此按钮,你输入的信息都会被还原输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无清空数据监听接口原型btn_fclass_update_clear.setOnClickListener(new OnClickListener() 描述点击此按钮,清空所有信息输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无返回事件监听接口原型btn_fclass_update_return.setOnClickListener(new OnClickListener() 描述点击此按钮,返回上级页面输入键盘或鼠标点击输出根据用户选择,显示对应的功能界面返回无4、数据库设计(1)表结构在记账类别模块中,类别信息是存放在SQLite数据库中的,数据库名:FINACE.DB, 表名为:TABLE_FCLASS_NAME。表4-1具体结构如下所示。字段名:_idfclassnamefclassparentidsubcountfclassimgfclassremark描述:自动ID记账类别名称记账类别父类ID记账类别子类目录图片属性描述属性:IntTextIntIntIntTextClassname:用于存放记账类别的名称Fclassoarentid:用于存放父类级别的标识IDSubcount:用于存放子类记账类别的个数Fclassimg:用于存放图片属性Fclassremark:用于存放描述信息(2) 访问数据库的实现public class FclassDAO /主类public class DBHelper extends SQLiteOpenHelper 主要函数如下:public Cursor fetchAllFclass() / 查询所有public Cursor fetchAllFclassIsRoot() / 查询不含父类别的所有顶类别public Cursor fetchAllFclassIsSub(long _pid) / 查询顶类别的所有子类别public Cursor fetchOtherFclassIsRoot(long _id) / 查询不含父类别和当前类别的所有顶类别public Cursor fetchOtherFclassIsSub(long _id, long _pid) / 查询顶类别的所有子类别(不含传入的类别)public Cursor fetchOtherFclass(long _id, int type) / 查询除某一ID的其它类别-type为1表示查询含子类别的类别,type为2表示查询不含子类别的类别public Cursor fetchOneFclass(long _id) / 根据ID查询public Cursor fetchFclassByParentId(long _pid) / 根据子女类别中的父类别ID属性值查询所有子类别public Cursor fetchAllFclassByName(String name) / 根据名称查询public Cursor fetchOtherFclassByName(long _id, String name) / 查询除自己外的是否有与自己重名的类别public boolean deleteFclass(long _id) / 删除一条记录public long insertFclass(Fclass fclass) / 添加记录public boolean updateFclass(long _id, Fclass fclass) / 修改记录public boolean updateFclassParentId(long _id, Fclass fclass) / 修改某一类别的父类别5、本章小结本章主要描述了我所做的模块的详细的功能与设计实现。五 测试本节内容给出了系统的测试项目书和相应的测试结果。进行测试时,首先根据对应的模块编写测试项目书。然后按照测试项目书中的模块功能逐个进行测试,测试完成后记录下时间、测试人、测试时间。测试结果分为“成功”、“未通过”两种,针对“未通过”的模块,调查原因修改后再测。下面表格是增加记账类别模块的测试结果:表5-1增加模块测试表格测试项目名称:操作记账类别测试人员:熊松于测试时间:4/27测试项目标题:增加记账类别条目测试内容:在记账类别的新增模块添加条目,在管理中则会相应显示测试环境和系统配置:eclipse+Android手机测试输入数据:输入一条新的类别数据;比如新增收入来源“工资”测试结论:在管理面板则会相应的显示出你有工资这一栏目(见图5-1)预期结果:在管理面板上显示出工资这一条目测试过程:点击在名称栏,插入“工资”这一目录,点击确定,点击管理,查看管理中显示的条目测试结果: 成功备注:下面表格是删除记账类别模块的测试结果:表5-2删除模块测试表格测试项目名称:操作记账类别测试人员:熊松于测试时间:4/27测试项目标题:删除记账类别条目测试内容:在管理模块长按选中条目,选择删除,管理模块就不会在显示你刚才删除的条目测试环境和系统配置:eclipse+Android手机测试输入数据:删除一条记账类别数据;比如删除收入来源“工资”测试结论:在管理面板就不会再显示“工资”这一记账类别选项(见图5-2)预期结果:在管理面板上“工资”条目已经被删除测试过程:在管理面板上长按“工资”条目,选中,点击删除测试结果: 成功备注:图5-1 图5-2以上所有测试结果和截图都在真机上进行的测试,目前只选取了其中部分功能的测试结果,本模块的其他功能也都在真机上测试通过了,在这里就不再附图。六 总结6.1 毕业设计完成的任务本软件严格按照软件生命周期的各个阶段进行软件的开发,首先对软件进行了严格准确的定义,确定系统要解决的问题及意义,并进行了可行性研究,然后进行了详细的需求分析,将软件分为了6个模块,并且我完成其中的两个模块,之后进行了软件的详细设计,确定了软件使用的数据结构、算法以及各个模块之间的处理流程。6.2 收获和总结随着答辩日期的到来,我们的毕业设计也终于接近了尾声,经过了两个月的奋战,我们的毕业设计终于完成了,回想在刚开始的时候,整日彷徨,且也很悲观,由于没有做过项目的缘故,对于这些知识大多有心无力,完全没有办法着手去做,时间一天天的过去,眨眼间,一周就过去了,这个时候就到了我们与指导老师见面的时间,可是这个时候我的手里没有任何一件做好的资料,第一周就这么没有任何收获的过去了,下来思考着,这么下去可不是办法,于是下来决定下定决心好好看些资料,来完成这个毕业设计,终于在经过了两个月的努力之后,我的毕业设计终于完成了,当然在这期间与我的知道老师有莫大的联系,若不是他每周都指导我们完成自己一部分任务,也许我现在都还停留在每天去思考,不去做实事的阶段。通过这两个月做毕业设计的事情,要让我也明白了很多事情:(1)所有的问题,不管有多难,只要你愿意静心去做,愿意去动手尝试,那么就总有解决的办法,害怕的就是你有很好的想法,你做了很多假设,发现你的想法到最后都还仅仅只是想法。这里能够得出,任何事情在你没有尝试过之前,都不要说做不到,事情没你想的那么难,只是你自己不愿意动而已。(2)做事要有规划,不要盲目前行。就好比我的毕业设计,在我们的任务还没分配好的时候,一切都是盲目的,脑海里想的都是到多少周就直接完成,去掉了中间的步奏,结果发现时间过了一两周却没能完成任何事情,于是,就给了自己一个定位,每周给自己规划一些任务,到了现在似乎一切都进行得井井有条。(3)要善于交流和思考。我们这次的任务是一个团队三个人共同完成的,要是我们这个团队没有交流,那么就好比一盘散沙一样不但做不成任何事情,还会很有可能造成我们的任务完成不了,但是我们通过交流协作,每个人都展现了他的强项,使我们的设计才能够这么快速的完成。致谢毕业论文的结束,这也意味着我们的大学生涯将要结束了,在这四年里,我在学习和思想上都得到了很大的进步和提高,当然这一切除了我自身外,更多的是来自于同学和老师的帮助和关心。非常感谢梁新元老师,可以说,要是没有梁老师每个周末坚持要让我们完成一部分任务的话,也许我现在还在纠结我到底应该怎么去写我的论文呢,梁老师在我大学的最后阶段给予了我很大的帮助,从最初的定稿,到资料搜集,到写作、修改到最后论文定稿,她给予了我耐心的指

温馨提示

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

评论

0/150

提交评论