基于android的家庭财务记账系统的设计与实现论文内容摘要:
SDK,API 库和技术文档。 Dalvik 调试监控工具 (DDMS)。 DDMS 是一个强大的调试工具,用于查询、监视和暂停活动进程、查看堆栈,访问文 件系统,还有截图和查看日志的功能。 Eclipse 插件 (ADT)。 通过在 Eclipse 软件更新选项下添加 ADT 的安装网址即可按提示完成安装。 插件安装成功后的 Eclipse 开发环境将为 Android 的开发与调试提供了许多便利,另一方面集成了上文提到的 Android 的实用工具。 Android 的活动及其生命周期 Android 应用定义了 4 种应用程序构成 :活动 (Activity )、服务(Service )、广播和意图接收器 (Broadcast and Intent Receivers )、内容提供器 (Content Provider)。 其中应用程序大部分的代码是以活动的形式存在。 活动负责屏幕内容的显示以及用户的交互,每一个活动都代表一个显示界面。 理解活动的生命周期对于开发 Android 应用是非常关键的。 Android 运行环境负责控制每一个应用的进程,而 Android 应用不能控制自身进程的生命周期。 每一个活动的状态是由活动位于栈 (Stack)的位置决定的。 当一个新的活动启动时,该活动就移到栈的顶端成为前台活动显示在屏幕。 如果此时按下后退键或者前台活动结束,栈的下一个活动就会上升成为前台活动。 当系统 内存不足的时候,位于栈底部的活动就会被终止以回收资源。 无论是什么开发环境,分离与代码无关的内容 (如图片和文本 ),都是好的编程习惯。 Android 支持将字符串、颜色、图片和视图布局等内容使用 XML 文件的方式作为外部资源放置在代码目录 //res 下。 这些内容会自动被编译成为对象并由一个命名为 R 的全局资源类所引用。 这样就可以在任何一段代码中使用这些资源。 SQLite 数据库 Android 提供了一个轻量级的关系数据库 S QLite 用于数据储存和访问。 对于一个储存容量有限的移动设备来讲,快速 和高效的数据存储和访问是很关键太原科技大学华科学院毕业设计(论文) 11 的。 S QLite 这个嵌入式的数据库引擎可以为 Android 每一个应用程序安全而高效地实现数据持久化。 每一个应用程序的数据库默认是一个沙箱 (sandbox),它的内容只对创建的程序可用。 为了解决不同应用程序之间共享数据的问题,Android 提供了内容提供器作为一种良好的机制为需要的应用程序共享数据。 由于“个人记账系统”不涉及与设备上其他应用共享数据,因此本论文并不详细讨论内容提供器。 Android 的用户界面是由一组树状的图形元素组成,它们都是 View 类 (视图 )的子类。 树状的视图布局通常用 XML 表示,在活动创建时被实例化。 与其他图形用户界面一样, Android 基于 MVC C ModelViewController)设计模式。 事件监听、状态更新与重绘由 Android 的用户界面框架由单一线程自动完成。 强大的交互功能预示着用户界面的设计上是复杂的, Android 提供了丰富的用户界面元素却是非常易用。 一般情况下,开发者无须自己绘制界面。 除了如文本、按钮之类常见的元素,一些复杂的界面例如菜单 (Menu)、下拉列表(Spinner )、滚动视图 (ListView)都可以通过系统提供的视图组件 (Widget)予以实现。 “个人记账系统”在用户界面设计方面使用了多种系统视图组件。 当中,滚动视图 (ListView)用于显示日记账等数据列表,下拉列表 ((Spinner)用于选择账目分类,单选按钮 ((RadioButton)用于选择记账类型、普通按钮 ((Button)用于界面导航与数字键面板,播放条 (S eekB ar)用于选择日期等等。 Android 通过引入意图 (Intent)机制用来实现进程间有效的通讯,并且降低了功能之间的祸合性。 意图具有非 常重要的作用, Android 应用使用意图进行页面跳转、传递参数以及返回结果。 意图可以指定启动特定的活动,也可以只发送抽象的“意图”并由系统选择合适的活动完成任务。 太原科技大学华科学院毕业设计(论文) 12 本章从系统架构、应用前景、开发环境三个方面介绍了 Android 技术,并就“个人记账系统”的 Android 实现中涉及的一些关键的技术概念进行简要的说明。 太原科技大学华科学院毕业设计(论文) 13 第三章 个人记账系统的设计 以下的内容首先会通过一个案例引出系统尝试去解决的问题,然后列出了系统的典型用例,最后总结系统设计的目标。 案例分析 每个社会人只要有收入和消费,就有记账的潜在需求。 最简单的记账,只需要设立一个记账本,按一定分类登记收入和支出。 这种原始的记账方法可以说是全人手更新统计信息,在每记一笔收入或支出都需要手动修改账本上关联的银行账户或信用卡的余额,并定期对照银行的余额信息用于对账。 一些传统的电子化记账方法如 Excel 电子表格 (如图 31)、记账网站等可以大大有助于记账过程的规范化和统计分析。 这类工具根据公式会自动为用户计算出银行账户和信用卡的余额,并按月统计收入和支出 ,还能输出图表。 由于规范的记账过程普遍采用了复式记账的会计方法,每记一笔账要求同时登记相关的两个账户,一个在借方,另一个在贷方,金额相等。 然而不了解会计原理的人很容易搞错借贷方向。 另一方面,记账的习惯和效率是一个关键的问题。 虽然当天账当天记是一个良好的习惯,但是是一般人会隔几天甚至几周才会坐在电脑前入账,大量时间用于整理小票、查询网银记录、以及回忆消费上的一些细节。 不夸张说有时记一次账可能要花 12 小时。 更甚的是,在点算现金、与实际银行余额对账的时候常常发现余额不准确,通常是由于漏账而产生几百块不 等的误差,从而导致坏账。 通过手机记账等移动记账工具可以实现随手记账,发生消费的时候即时记账,除了避免漏账,还可以大大提高记账效率。 通过上文案例的陈述,说明了移动记账是进行快速记账和实现有效个人财务分析的关键,它拥有传统记账工具不可比拟的优点。 另一方面,复式记账涉及会计基础知识,尤其是关于借 /贷方的方向容易混淆。 个人记账系统是为了针对解 决上述问题而提出的。 太原科技大学华科学院毕业设计(论文) 14 典型用例分析 以下将通过几个典型的用例描述个人记账系统应该拥有什么功能以满足个人用户的使用需求 : 用例一 :初次使用配置 这个用例从用户完成下载安装本系统,第一次打开系统界面开始。 系统检测到用户没有活动记账周期,提示导入默认记账周期和账目分类。 用户可以确认或取消。 系统显示记账周期列表。 用户可以添加、编辑、删除记账周期,和设置其中一个为活动记账周期。 系统检测到用户己设置活动记账周期,用户可进入配置账目分类。 系统显示分类账列表。 用户可以为资金、负债、收入和支出四个账目组添加、编辑、删除账目分类。 当存在活动记账周期并添加超过两个账目类别时,用户可以开始记账,用例结束。 用例二 :记一笔账,例 如消费 这个用例从用户完成一笔消费并打开系统界面开始。 系统检测到用户存在活动记账周期,显示日记账列表。 用户添加一笔新的日记账。 太原科技大学华科学院毕业设计(论文) 15 系统提示输入时间、金额、选择消费类别和支付方式、以及对这笔消费的描述,用户按提示输入以上信息,或取消操作。 系统通过信息校验,并保存成一条新的日记账,提示成功信息。 如果校验失败,提示信息让用户重新输入。 当成功信息出现或操作取消时,用例结束。 用例三 :查看余额和统计信息 这个用例从用户希望查看财务状况并打开系统分类 账界面开始。 系统检测到用户存在活动记账周期,显示分类账列表。 用户可以选择“资金负债”或“收入支出”两个标签。 当用户选择“资金负债”,系统计算当前所有资金和负债账目分类的期末余额,显示结果列表。 用例结束。 当用户选择“收入支出”,系统计算当前所有收入和支出账目分类的当期汇总,显示结果列表。 用例结束。 用例四 :数据管理,例如导入账目分类 这个用例从用户在 PC 上完成账目分类的编辑并放入 SD 卡,打开系统数据管理界面开始。 系统检测设备 SD 卡工作正常,提示数据管理功 能列表。 用户可以选择进行数据备份、恢复,数据导出和导入的功能。 当用户选择“导入分类账数据”并指定导入文件后,系统开始导入。 系统导入成功,显示成功信息。 系统导入失败,显示失败信息。 用例结束。 系统设计目标 个人记账系统的设计目标是 (按重要性排列 ): 1)在手机上实现方便地记账。 2)即时计算显示账目余额和收支状况。 3)划分记账周期,独立进行记账和统计。 4)数据备份和恢复,与 PC 进行数据交换。 太原科技大学华科学院毕业设计(论文) 16 根据上文的典型用例分析以及设计 目标,系统整体的用例图可画出如图 32所示 : 个人记账系统是一个在 Android OS 版本或以上的设备上运行,支持复式记账、多记账周期 (多账本 )、即时反映财务和收入情况的个人记账应用。 它特别优化了记账体验,具有内置数字键盘、日期选择器、借贷方账目自动加载、记 帐描述自动补全等特性。 另外,界面设计上采用“即时配置”的方式,通过切换不同模式在同一个列表上进行添加、编辑和删除等操作。 界面支持随屏幕旋转自动变换。 不同颜色标识账目组乡 (资金一黄色、负债一红色、收入一绿色、支出一蓝色 )。 支 持基于XML 文件的数据备份恢复,通过 TXT/CS V 格式进行数据导入和导出。 根据不同的功能,系统可以划分为四个模块 : 记账周期模块。 用于配置记账周期。 日记账模块。 分类账模块。 主要功能是记账,包括记录消费、收入和转账。 用于查看资金和负债余额,统计收入和支出 数据管理模块。 关于日记账和分类账数据的备份与恢复、以及配置账目分类。 太原科技大学华科学院毕业设计(论文) 17 导出与导入。 记账周期模块 记账周期 (Fiscal Period)可以用作不同会计个体的账本,或者是同一个会计个体的不同记账区间。 关键是不同记账周期的账目分类和日记账是独立的。 用户的日记账查询、分类账查询和数据管理都是以某一个记账周期为操作对象的。 在记账周期模块,用户可以显示记账周期列表,对记账周期进行添加、编辑、删除的操作。 用户可以将其中一个记账周期设为活动记账周期。 活动记账周期在其他模块的操作中是被认为是默认的记账周期。 缺少活动记账周期将无法进行记账、查询余额等操作。 每个记账周期可以配置标题、起始日期、终止日期。 还有可选的口令设定功能以保护用户隐私。 日记账模块 在日记账模块,用户可以进行三种主 要的记账操作 : 记录收入 :用户对收入活动进行记账,包括金额、选择收入账类别、资产形式。 记录支出 :用户对支出活动进行记账,包括金额、选择支出账类别、支付方式。 账目互转 :用户可以在不同账目中灵活转移余额,用于资金转移、借贷以及调账。 此外,用户可以进行列表查询、编辑与删除日记账项等操作。 每一笔日记账要求输入以下内容: 日期。 日期必须符合记账周期定义的起始日期和终止日期之间。 用户可以使用方便的日期选择器拖动滑块选择记账周期内的任意一日。 太原科技大学华科学院毕业设计(论文) 18 金额。 内置的 数字输入器可以不开启系统软键盘就可以轻松输入数字。 日记账类别以及登记借 /贷方账目。 由于采用复式记账法,因此每笔日记账都至少记录相关的两个不同的账户,一个借方和一个贷方的账户。 为了优化记账体验,系统会根据日记账类别自动为用户加载相关的借贷方。 分类账模块 分类账 (Account)在系统中结合了会计科目表和财务报表的概念。 记账的一般需要默认设置了 4 个账目组别 (AccountGroup ):资产、负债、系统根据个人收入和支出。 按照资产负债表和损益表的会计元素分布,分类账模块所示可进 一步划分两个子模块 :资产负债和收支一览。 前者是资金账目和负债账目的集合,用于反映个人的财务状况,即个人净资产。 后者是收入账目和支出账目的集合,用于统计个人的同期收支情况,即个人净收入。 在分类账模块,用户可以根据实际需要在任意一个账目组别下添加、编辑和删除账目分类。 同时,系统会为每一个账目分类根据表 32 所示公式即时计算出 报表现值。 添加一个账目分类要求输入以下内容 : 账目名称。 指定分类名称,例如现金、月薪收入等。 账目代号。 分配一个数字编号,可应用于报表中。基于android的家庭财务记账系统的设计与实现论文
相关推荐
d SpriteThread SpriteMoveThread GameViewDrawThread 算法的设计 该游戏没有涉及到复杂的算法设计,关键在于对地图矩阵的操作。 游戏中用一个 MapList 类操作地图,其中有两个三维数组记录游戏地图信息,一个三维数组表示第一层地图即地板层,另一个三维数组表示第二层地图即建筑层 , 三维矩阵便于管理,如果要加入新关卡
性签名、昵称等进行管理。 图 21 系统功能模型图 天津天狮学院 2020届本科生毕业设计(论文 ) 5 性能需求 根据以上分析,性能需求主要针对用户使用软件的的方便性和系统可靠性等方面进行考虑。 在项目设计中,主要遵循一下原则: ( 1) 可操作性:用户对于软件操作时,界面要简单、方便、直观。 操作过程中要有及时的提示,比如错误提示。 从而保证用户能正确操作软件。 ( 2) 可移植性
州交通大学毕业设计(论文) 2 职能、职位、距离等原因造成的信息联络不畅而带来的企业发展羁绊,通过构建内部通讯、信息发布与交流平台,实现多途径的联络与沟通,减少信息在途中的时间,提高信息的时效性,与此同时,缩短领导与职员之间,各部门之间的距离。 办公自动化系统可分为事务型、管理型和分析决策型三种不同的层次: ( 1)事务型的办公自动化系统:支持一个机构内各办公室的基本事务活动
浏览器现在均支持Java applet。 Android开发工具ADT:Android Development Tools在Eclipse编译IDE环境中,需安装ADT Plugin,这是Android在Eclipse上的开发工具。 数据库SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低
则可通过 JNI 调用。 如果需要用底层语言实现一个小型的时间敏感代码,比如 汇编,然后在 java 程序中调用这些功能。 (l)编写带有 native 声明的方法的 java 类, native 所声明的方法既是 java 调用但其实现过程是由别的语言完成的。 (2)使用 javac 命令编译所编写的 java 类,生成可以在 JVM 运行的字节码。 使用 javahjni 命令生成扩展名为
体服务器是负责和 视频 服务器 交互获取经过压缩的视频 流数据 ,通过 RTP/RTCP 发送经过压缩的数据包到 移动终端 , 移动终端 通过解压 这些数据包 后可以播放 实时 视频,流媒体服务器的实现是用户可以通过 终端 观看想要查看的视频信息。 本系统 的 流媒体服务器 主要包括基于 live555 的服务器 , Live555 是一个为流媒体提供解决方案的跨平台的 C++开源项目