Our Final Project (UVP Course)—— TimeTable

本文介绍了开发一个Windows Store UWP应用TimeTable的详细过程,旨在填补桌面端自动化的课程表应用空白。应用功能包括:自动导入教务处课程,倒数日提醒,成绩查询,社交平台和个性化设置。支持教务处一键导入,导出到系统日历,以及成绩GPA查询。开发团队已完成教务处模拟登陆,并计划加入社区和聊天功能。

TimeTable这个名字暂定,可能并不是最终的名字。


Our Focus

正如题目所说,我们做的就是一个课程表,超级课程表。
当然不是我们一般在手机上用的超级课程表那个应用。

目前在桌面端,尤其是Windows Store中,还没有一个非常完善的,自动化的课程表应用。

尽管手机上有超级课程表,课程格子等应用,但在UWP端,尤其是PC端还没有类似的

因此,我们开发一款课程表应用,让同学们(校内)能够在PC端也能体验自动化导入课程表,查询成绩,考试倒计时等等校园实用的工具


Functions

每周课程表

一个周历,可以从教务处自动导入,手动添加课程

也可以灵活调整课程上课的周数,学期开始时间

支持导出为PDF,以及导出到系统日历(方便统一管理事务)

每一个课程支持链接笔记,一键跳转到相应课程的笔记

倒数日

支持从教务处自动导入考试信息,在倒数日页面生成提醒信息

可以设置系统通知提醒,以及动态磁贴

也可以手动添加一些比如作业截止日期等的倒数日,以免遗忘作业截止时间

社交平台

保存个人信息(可选),查看和自己一起上课的同学,邂逅有缘的ta

用户聊天,分享课表

成绩查询

提供查询教务处成绩与GPA信息,支持四六级查询

后期支持绩点排名


Features

支持教务处课表一键导入,这是目前UWP平台没有一个应用具有的功能

支持一键查询成绩GPA

支持导出到系统日历,便于跨平台查看,为日程统一管理提供了可能,当所有的日程(上课,约会,考试)都集中在系统日历上,辅以跨平台日历同步,一站式管理生活不再是梦想。

链接笔记,每一门课有专属笔记空间

线上互动,寻找与自己有缘一起上课的同学

倒数日,方便管理各种Deadline


应用设计及技术

我们的应用分为四个页面,分别是:

课程表页面

这里写图片描述
这是应用的主页面,我们认识到,同学们打开应用,最紧迫的需要通常都是看课表,而不希望看到广告,聊天信息等等其他信息。在这里我们会用到一些基本的空间来构成我们的课程表GUI,会使用Entity Framework配合Sqlite数据库来在本地存储课程信息

因此,我们将课程表页面默认设置为打开的页面,同学们也可以自行设置应用打开页面。

这里写图片描述

同样,由于有些课程可能会有临时调整以及会有实验课所以我们也设置了手动添加课程的功能。

此外,课程表还可以导出到系统日历,方便日程的统一管理。对于这个功能,我们会调用系统Calendar的Appointment相关的API

倒数日

这里写图片描述

在倒数日页面,我们借鉴了许多目前iOS和Android客户端的倒数App,给用户呈现出一种直观的倒数日页面,在这个页面(其实不只这个页面,课程表页面也是)我们会使用Styles来可复用地实现一致的UI设计,使用样式表的好处除了提高代码利用率之外还可以进一步将控件和样式解耦,方便以后修改设计。

每一个Deadline都有具体所剩的时间,并且精确到秒。所有Deadline按照截止日期先后顺序排序,可以手动将某一个Deadline置顶。这里就需要调用系统DataTime相关的API,来实时更新每一个Deadline的剩余时间。为此,我们用到了定时器

<think> 我们正在讨论UVP VMTools启动失败的问题。用户需要解决方案。 由于这是一个具体的技术问题,我们需要考虑常见的故障排除步骤。 注意:UVP VMTools可能是某种虚拟化平台的工具(例如,类似于VMware Tools,但这里可能是其他厂商的,因为UVP并不常见)。不过,根据名称,它可能是某个特定厂商的工具。但由于信息不足,我们假设它是一个通用的虚拟化工具。 常见的启动失败原因可能包括: 1. 安装不完整或损坏 2. 与操作系统不兼容 3. 服务未正确启动 4. 驱动程序冲突 5. 权限问题 因此,我们可以提供以下步骤: 步骤1:重新安装VMTools - 卸载当前安装的VMTools。 - 重新启动虚拟机。 - 从官方来源下载最新版本的VMTools并安装。 - 再次重启。 步骤2:检查系统兼容性 - 确保VMTools版本与虚拟化平台版本以及操作系统版本兼容。 步骤3:检查服务状态 - 在Windows系统中,可以通过“服务”管理控制台检查相关服务是否启动。 - 在Linux系统中,使用系统服务管理命令(如systemctl)检查服务状态。 步骤4:检查日志文件 - 查找VMTools的日志文件(通常在安装目录或系统日志目录中),分析错误信息。 步骤5:以管理员权限运行 - 确保安装和运行时具有足够的权限。 步骤6:更新操作系统和驱动程序 - 确保操作系统是最新的,特别是与虚拟化相关的驱动程序。 由于没有具体的错误信息,以上为通用步骤。 同时,我们可以生成相关问题,以帮助用户进一步定位问题。 注意:由于我们不知道用户使用的是哪种操作系统,因此需要提供通用的建议,或者询问用户的操作系统类型和错误信息。 但是,用户的问题中并没有提供这些细节,所以我们先提供通用方案。 最后,我们还需要提醒用户,如果以上步骤无法解决,需要提供具体的错误信息以便进一步排查。 </think> 以下是解决UVP VMTools启动失败的通用解决方案,按优先级排序: ### 1. **重启虚拟机与服务** ```bash sudo systemctl restart uvptools # Linux重启服务 ``` 或通过虚拟机管理界面重启整个VM,这是最有效的初步解决方案[^1]。 ### 2. **重新安装VMTools** ```bash sudo ./uvptools-uninstaller # 卸载旧版 sudo apt-get install uvptools # Ubuntu/Debian重装 ``` 安装后务必重启虚拟机,确保内核模块加载完整[^2]。 ### 3. **检查兼容性** - 确认UVP Tools版本与**虚拟机监控程序**(如KVM、Hyper-V)匹配 - 验证操作系统内核版本支持(较新的Linux内核需特定补丁) - 官方兼容性矩阵参考:[UVP兼容性文档](https://docs.uvp.com/compatibility) ### 4. **日志分析** 关键日志路径: ```bash /var/log/uvptools.log # 主日志 journalctl -u uvptools -xe # Linux系统日志 ``` 重点关注`failed to load module`或`permission denied`类错误。 ### 5. **权限修复** ```bash sudo chmod 755 /usr/bin/uvp* # 修复执行权限 sudo restorecon -Rv /opt/uvptools # SELinux环境修复 ``` ### 6. **依赖项检查** 安装常见缺失依赖: ```bash sudo apt-get install build-essential linux-headers-$(uname -r) ``` > ⚠️ 若问题持续:提供具体错误日志和虚拟机配置(OS版本/虚拟化平台),可进一步诊断驱动冲突或内核问题。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值