230 likes | 385 Views
Android 平台下的课程提醒应用. 指导老师:曾喻江 通信 0805 徐兵. 课题背景. 现在大学里学生上课的时间和地点都是不固定的 ,学生经常出现 因忘记课程安排而走错教室,错过上课时间 等问题,本课题的目的即开发一款课程提醒手机软件帮助学生解决这类问题,而选择 Android 平台是从手机市场占有率和开发成本考虑的。. 研究目标. 开发一款基于 Android 平台的应用,主要功能是实现课程提醒,即上课之前某个时间提醒学生上课的时间和地点等信息,并且可供查询课表。. 课题意义. 该应用可以有效减轻学生记忆上课信息的负担 , 给学生的学习生活带来便利。
E N D
Android平台下的课程提醒应用 指导老师:曾喻江 通信0805 徐兵
课题背景 • 现在大学里学生上课的时间和地点都是不固定的,学生经常出现因忘记课程安排而走错教室,错过上课时间等问题,本课题的目的即开发一款课程提醒手机软件帮助学生解决这类问题,而选择Android平台是从手机市场占有率和开发成本考虑的。
研究目标 • 开发一款基于Android平台的应用,主要功能是实现课程提醒,即上课之前某个时间提醒学生上课的时间和地点等信息,并且可供查询课表。
课题意义 • 该应用可以有效减轻学生记忆上课信息的负担,给学生的学习生活带来便利。 • 也可以推广到其它涉及到大量日程的问题,具有较高的实用价值。
研究现状 • 目前手机自带的日程表以及其它一些类似应用,一次只能输入一条备忘记事。 • 课程表类的应用只是显示电子课程表并可供编辑,有的包含提醒功能,但也需要每个单独设置 • 目前还没有发现通过导入电子文档来建立备忘记事的应用,这是本课题的创新点。
智能课程表 • 可以编辑并显示课程表,可以提醒。
涉及到的问题 • 可以自动从一定格式电子档课程表中提取课程相关的信息,同时也允许用户手动输入课程信息; • 将提取到的课程信息按一定格式存储到数据库当中; • 根据课程的起止日期和授课时间建立课程提醒机制,即在课程开始之前一定时间提醒学生,并且可供查询课程信息 • 软件UI设计; • 功能拓展,根据用户体验的感受对软件功能进行完善。
解决方案 • 采用Excel格式课程表,以华中科技大学HUB系统导出的个人课程表的格式为准 • 使用现有API实现Excel文件读写(POI或jxl) • 采用SQLite数据库存储课程信息 • 调用系统的日程表或者闹钟,软件为每门课程建立一个备忘记事,并对这些备忘记事进行管理 • 软件完成测试后,让周围人试用,并收集建议完善功能和外形设计
采用Excel格式 • 规定格式有助于简化软件的编写 • Word和PDF等格式处理起来较为复杂,Excel更适合处理课程表这样的文件,提取信息更为方便
采用HUB系统格式 • 方便测试软件,本校学生均可以方便地进行测试 • 该格式具有一定普遍性,如果用户的课程表格式不同,也只需略作修改
Apache POI • Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。 结构: • HSSF - 提供读写Microsoft Excel格式档案的功能。 • XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。 • HWPF - 提供读写Microsoft Word格式档案的功能。 • HSLF - 提供读写Microsoft PowerPoint格式档案的功能。 • HDGF - 提供读写Microsoft Visio格式档案的功能。
SQLite • SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
数据库表设计图 • 原始信息6项:课程名称,上课教室,授课教师,星期几,节次,周次 • 添加信息4项:课程开始,结束时间,课程开始,结束日期
数据导入流程设计 • 读取数据,即从电子课程表中读取原始课程数据; • 整理数据,整理原始数据,剔出无用数据,并将整理得到的有用数据存储到数据库当中; • 解析数据,从数据库中读取有用数据,从中提取信息并将有用信息存储到数据库当中; • 创建日程,从数据库中读取有用信息并批量创建日程事项
日程管理设计 • 查看日程,包括查看每一天的日程和全部的日程; • 新建日程,用户可以自己输入信息新建日程,每次可以创建一条日程; • 编辑日程,用户可以更新已经创建的日程的信息; • 删除日程,用户可以删除已经创建的日程,可以选择删除一条日程,一门课的日程或是全部日程。
删除日程设计 • 选择删除,用户可以根据课程的名称选择删除某一门课程全部的日程事项,使用多选对话框供用户选择。 • 清除重复,当用户由于误操作或其他原因导入了重复的数据,可以使用该项功能清除重复的日程事项,该功能会将同一天发生,开始时间相同的日程事项删除到只剩下一条,一键操作。 • 全部删除,该功能将删除日历里由本软件所创建的全部日程事项,不会删除用户在其它日历软件中创建的日程事项,一键操作。
更多信息请访问 • http://blog.sina.com.cn/s/blog_81094d7d01012ptl.html