安卓--记账软件课程设计

安卓课程设计

记账软件课程设计

目录

1 引言............................................................................................................................................................. 2

1.1 背景................................................................................................................................................ 3

1.1.1 课程背景........................................................................................................................... 3

1.1.2 开发与运行环境............................................................................................................... 3

2 项目总体分析............................................................................................................................................. 3

2.1 项目架构分析(根据页面区分).............................................................................................. 3

2.1.1 首次启动页....................................................................................................................... 3

2.1.2 首页.................................................................................................................................... 3

2.1.3 记账页............................................................................................................................... 3

2.1.4 分类页............................................................................................................................... 3

2.1.5 图表页............................................................................................................................... 3

2.1.6 页面跳转关系................................................................................................................... 3

2.2 功能模块分析................................................................................................................................ 4

2.2.1 账目显示&记账&分类管理............................................................................................. 4

2.2.2 数据统计&数据查询........................................................................................................ 5

3 数据库设计................................................................................................................................................. 5

3.1 数据库概念分析............................................................................................................................ 5

3.1.1 确认所需数据库............................................................................................................... 5

3.1.2 数据库所需操作分析...................................................................................................... 5

3.2 表设计............................................................................................................................................ 5

3.3 关系设计........................................................................................................................................ 6

4 类设计......................................................................................................................................................... 6

4.1 账单类............................................................................................................................................ 6

4.2 分类类............................................................................................................................................ 6

5 项目实现..................................................................................................................................................... 7

5.1 UI..................................................................................................................................................... 7

5.1.4 分类页............................................................................................................................. 13

5.2 功能模块逻辑实现..................................................................................................................... 17

6 测试........................................................................................................................................................... 33

6.1 测试内容及遇到的问题............................................................................................................. 33

·测试内容&遇到的问题&解决方法:.................................................................................. 33

6.2 可优化方案.................................................................................................................................. 34

6.3 未解决问题&部分修改.............................................................................................................. 34

7 难点分析................................................................................................................................................... 34

7.1 数据库的操作代码编写............................................................................................................. 34

7.2 RecyclerView的显示和布局以及item样式设置................................................................... 34

7.3 隐藏显示新界面及动画的使用................................................................................................ 34

7.4 复选框的相关操作..................................................................................................................... 34

7.5 图表的统计显示......................................................................................................................... 34

8 总结........................................................................................................................................................... 35

  1. 引言
    1. 背景
      1. 课程背景

《移动软件开发》课程设计:设计实现基于Android平台的记账app。简单分析一下自己的需求,对于衣食住行进行分类,然后记录每天的时间,记录下消费的原因,最重要的就是金额了,以及收入进账的记录。做每个月账单统计,分析自己当前的支出和收入。

      1. 开发与运行环境

Winxp/win7/win8/win10/vista/win2003server, android studio。

数据库:SQLite

JDK1.7 及以上

兼容 Android 版本 4.3 及以上版本

目标设备:android 手机

  1. 项目总体分析
    1. 项目架构分析(根据页面区分)
      1. 首次启动页

首次使用app,首次加载,点击开启记账,进入首页。

      1. 首页

app主体界面,默认显示手机系统时间当月的账单以及当月的总支出、总收入。用户可通过按键< >查看其它月份账单和支出收入情况。

      1. 记账页

app主要功能界面,主要功能有添加新账目,修改原有账目。

      1. 分类页

分类设置界面,默认显示数据库原有分类条目。用户可长按分类条目显示编辑按钮条,编辑、删除(可多选)分类条目或隐藏编辑按钮条。同时在编辑按钮条隐藏的条件下,用户可以通过点击右下角的添加按钮添加分类条目。

      1. 图表页

数据统计分类显示界面,默认显示手机系统时间当月账单的支出分类圆形图表,用户可通过点击收入按钮查看当月账单的收入分类圆形图表。同时用户可以通过< >按键查看其它月份的分类圆形图表。

      1. 页面跳转关系

       

    1. 功能模块分析
      1. 账目显示&记账&分类管理

·账目显示:读取用户已添加过的当月的所有账单条目显示在【主页】,每一条条目包含【账目类别名称】、【账目收入支出类别】、【账目金额】、【账目时间 24小时制】,按添加顺序(即时间先后顺序)排列。

·记账:点击【+】按钮跳转至【记账页】,账目类别名称默认为“FOOD”,账目收入支出类别默认为“支出”。用户通过输入数字进金额编辑框来设定金额(最大不超过99999),通过点击收入或支出按钮设定支出收入类别,通过点击“FOOD”跳转至【分类页】设定账目类别名称,后台通过读取手机系统时间设定该账目时间。用户也可以长按【主页】显示的item跳转至【记账页】来编辑被长按的item,可以修改此条item的账目类别名称、账目金额、收入或支出类别。用户点击【<】放弃添加账单返回【主页】,点击【保存】按钮确认添加新账目。

·分类管理:读取用户已添加过的所有账单类别显示在[分类页],每一条条目只包含[类别名称],按添加顺序排列。用户通过长按某一条item获取【编辑按钮条】以及类别条目的复选框,编辑按钮条包含【撤回】、【编辑】、【删除】三个按钮。点击撤回按钮隐藏编辑按钮条以及类别条目复选框。在复选框选择一个条目的情况下可点击编辑按钮滑出【编辑框】修改类别条目名称,或点击删除按钮删除条目。在复选框多选的情况下隐藏编辑按钮,只可进行删除操作。

      1. 数据统计&数据查询

·数据统计:在【图表】界面统计每个月不同类别的金额收入或支出百分比圆形图表,默认显示手机系统当月支出百分比圆形图表。用户通过点击收入或支出按钮查看当月的收入支出图表。

·数据查询:用户通过点击【<】或【>】按钮查看当月的上一个月或下一个月的账单图表。

  1. 数据库设计
    1. 数据库概念分析
      1. 确认所需数据库

通过功能模块分析可知需要数据增删查改的页面有【记账页】以及【分类页】,所以所需两个表。本项目建立了两个数据库分别存放账单表以及类别表。

数据库1:bill-> 表1:costlist  costDate为主键

数据库2:mClassify-> 表2:classify  classifyName 为主键

      1. 数据库所需操作分析

增:【记账页】的添加账单操作,【分类页】的添加分类操作

删:【分类页】的复选框删除分类操作

查:【记账页】不同月份账单切换显示操作,【分类页】分类条目显示操作

改:【记账页】通过长按【主页】条目进行的修改条目操作,【分类页】分类条目的编辑操作。

    1. 表设计

表1:costlist

数据名称

数据类型

数据含义

costTitle

Varchar

账目类别名称

costDate     primary key

Varchar

账目被添加时的详细时间

costYear

Varchar

账目被添加时的年份

costMonth

Varchar

账目被添加时的月份

costDay

Varchar

账目被添加时的日

costHour

Varchar

账目被添加时的时

costMinute

Varchar

账目被添加时的分

costSecond

Varchar

账目被添加时的秒

costMoney

Varchar

账目金额

costInOut

Varchar

账目支出收入

表2:classify

数据名称

数据类型

数据含义

classifyName  primary key

Varchar

类别名称

costInOut

Varchar

类别支出收入属性

PS:数据库后台会为表单自动插入一个rowid列来记录每一条数据的行数。

    1. 关系设计

  1. 类设计
    1. 账单类

CostBean类

成员变量:(all public)

数据名称

数据类型

数据含义

costTitle

String

账目类别名称

costDate

String

账目被添加时的详细时间

costYear

String

账目被添加时的年份

costMonth

String

账目被添加时的月份

costDay

String

账目被添加时的日

costHour

String

账目被添加时的时

costMinute

String

账目被添加时的分

costSecond

String

账目被添加时的秒

costMoney

String

账目金额

costInOut

String

账目支出收入

    1. 分类类

ClassifyBean类

成员变量:(all public)

数据名称

数据类型

数据含义

classifyName

String

类别名称

costInOut

String

类别支出收入属性

isShow

boolean

复选框是否显示

isChecked

boolean

复选框是否被选中

成员函数:(all public)

函数名称

返回类型

函数功能

getClassifyName

String

获取类别名称

setClassifyName

  • 4
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值