***大学课程设计报告
移动互联网开发课程设计
班 级: ********* 姓 名: ********* 学 号: ********* 指导教师: ********* 报告日期: 2024.1.9
目 录
第1章 课程设计的应用设计与实现 ........................................................................................... 1
1.1 课程设计目的 .................................................................................................................... 1
1.1.1课程设计要求与选题 .............................................................................................. 1 1.1.2 课程设计思路 ......................................................................................................... 1 1.2 数据定义及应用界面设计 ................................................................................................ 2
1.2.1 数据定义 ................................................................................................................. 2 1.2.2 应用界面设计 ......................................................................................................... 2 1.3 类和方法的设计 ................................................................................................................ 3
1.3.1 获取系统当前时间 ................................................................................................. 3 1.3.2 查询数据库中记录并进行统计 ............................................................................. 3 1.3.3 插入一条记录到数据库 ......................................................................................... 4 1.3.4 通过抽屉实现功能界面的跳转 ............................................................................. 4 1.4 运行结果截图 .................................................................................................................... 4 第二章 总结 ..................................................................................................................................... 7
第1章 课程设计的应用设计与实现
1.1 课程设计目的
1.1.1课程设计要求与选题
本次移动互联网开发课程设计要求使用Android开发工具实现具有实际应用意义的功能程序。
由于移动支付的愈加发达,人们普遍拥有多个账号用于资金的流通(例如支付宝、微信、校园卡和现金等),日常的支出和收入也变得不容易记忆与统计。在此背景下,本次课程设计的选题内容为实现一个具有记录和统计功能的记账程序,通过语句调取本机时间,手动输入和选择金额账户,用于记录日常的支出和收入,并利用SQLite数据库实现数据的存储查询及统计。 1.1.2 课程设计思路
此课程设计程序主要通过以下三个界面来实现:用于显示指定时间段收支统计结果的主界面、用于实现记录收支情况的记账界面、用于实现流水查询的查询界面;其中主界面的设计采用抽屉布局实现用于信息的显示和功能界面的导航,记账界面采用选项卡布局来实现收支的转换,查询界面主要用线性布局实现。
各界面的设计思路及其跳转关系如下图所示。
图 1- 1界面设计思路和跳转关系
1
1.2 数据定义及应用界面设计
程序开发软件选用Android Studio,使用其自带的虚拟机进行测试;数据库测试与观察软件选用SQLite Expert Personal。 1.2.1 数据定义
在虚拟机的数据目录(/data/data/包名/databases/)下建立记账本数据库tallybook.db,并在其中添加表expend_table和income_table,两张表的数据设计分别如下图1-2和图1-3所示。
图 1- 2 支出表数据定义 图 1- 3 收入表数据定义
1.2.2 应用界面设计
主界面通过引用的方法引入内容、抽屉的头部和抽屉的菜单的布局文件,主要代码截图如图1-4所示,设计图效果如图1-5所示。
图 1- 4 主界面布局的引入设计 图 1- 5 主界面设计效果
记账界面在选项卡(FrameLayout)中加入两个卡片,以支出记账界面为例显示设计效果,如图1-6所示。
图 1- 6 记账界面设计 图 1- 7 记账界面设计结果
2
1.3 类和方法的设计
1.3.1 获取系统当前时间
通过日历类型获取系统当前时间,并通过calendar.get(Calendar.字段)方法获取年、月、日、时、分、秒,并通过calendar.set()方法设置指定时间以得到当前一周的开始和结束,主要代码截图如下,需要注意的是,由于系统存储的月是从0开始的,所以当前的真实月份要在获取值的基础上加1。
获取系统当前的时间
在得到的月份处加1
设定指定时间以计算周的起始
图 1- 8 获取系统当前时间
1.3.2 查询数据库中记录并进行统计
通过cursor获取数据库操作结果(查询的字段),并将查到的金额进行累加,需要注意的是,获取的系统时间(month,year,day)的数据类型是int,而数据库查询语句与其得到结果均为String型,要想得到金额的累加,需采用parseInt()方法将其其转换为int型,并将得到的累计值通过String.valueOf()方法转换回String型,以设置TextView的显示内容。
多次进行int与String之间的类型转换
图 1- 9 数据库查询与统计
3