Android 课程表

该留白的地方,就留白。

给国内大学生用的 Android 课程表。打开就是一整周,横看七天、竖看节次,不用来回翻页。 四种办法能把课表弄进来,提醒准点又不吵。桌面小组件放在那儿,应用都不用打开。

正式版 v1.0.0 Android 8.0+ MIT 开源 无广告
余课周视图:七列一周,纵向按节次等分
周视图 · 一屏看全一周

界面

屏幕上只剩课表

一抹强调色配三档中性,剩下的地方留给白。开屏广告和签到这里都没有, 时间轴竖着排,不用横着滚。

周视图
周视图 七列一周,今天那列画一条当前时间线
课程列表
课程 按星期分组,能多选批量删
雨课堂公告
雨课堂公告 按时间倒序列出这门课的全部公告
教务导入
教务导入 选中学校,确认完一键导入

它能帮上什么

课表本该一眼看完

课表 App 大多喜欢把功能堆在脸上。

01

一屏看全一周

周一到周日七列,当天所有节次竖着排,不用来回翻页。左右滑动换周,「今天」回到本周。 行高按屏幕高度算,一屏装不下就整格上下滚。

02

四种导入方式

教务系统导入、手填一门课、粘贴表格或选 Excel 文件、拍张截图交给 AI 认, 四种都在周视图右上角的「添加」里,挑顺手的用。

03

提醒准点,但不吵

每节课开始前提醒,提前量从准点到 60 分钟任选。开着「实时活动」的话, 它会从课前一直跟到下课,按分钟告诉你还剩多久。

04

一眼认出是哪门课

每门课有一层很淡的专属色,扫一眼就知道是什么课;正在上的那节另外标出来。 颜色跟着课名走,同一门课哪天都是同一个色。

05

桌面小组件

今日课表、明日课程、下节课三块,尺寸分别是 4×2、2×2、1×1,放在桌面上, 不打开应用也看得见。显示时刻还是节次、列出几门课、行距和底色都能改,改完立刻刷新。

06

雨课堂公告

登录雨课堂,课程详情页按时间倒序列出这门课的全部公告,课前提醒里带上最新一条, 新公告另外通知一次。雨课堂自己发的「上课提醒」「开始签到」不转推, 课表本来就有课前提醒,喊两遍没意义。

07

9 张图标任选

桌面上那个蓝发角色有 9 种表情,喜欢哪张点哪张,图标立刻跟着换。 也可以打开轮播,让它每次打开、每小时或者每天自己换一张。

08

不注册也能用

课表默认只存在你自己手机上,不注册也挺完整。要换机或者备份了,再登录账号同步; 删掉的课跟着删,不会在别的设备上冒出来。

导入

把课表弄进来

四条路,总有一条省下你敲一整学期的手。导入之后,单双周和自定义周次会自动归类。

教务系统导入

选中你的学校,读完适配说明再确认。学校账号在应用内登录,脚本把课程、作息时间和 开学日期读出来,要不要覆盖本地设置由你点头。密码只在这一次登录会话里用, 之后不留在应用数据库。

手动添加

自己填一门课,补录或者临时调整都靠它。一页表单填到底:星期能多选,一周上几天都行; 节次和周次点一下就好,自定义周次可以逐周勾;时间按节次算或者自己填, 晚间讲座、临时加课用后者。

表格 / Excel 导入

把 CSV / TSV 粘进来,或者直接选 Excel 文件。表头和中文编码它会自己认; 第 8、9 列填上开始和结束时间,就能生成自定义时间的课程。

AI 图片导入

接 Google Gemini,也接任意 OpenAI 兼容服务(DeepSeek、通义千问、Kimi、智谱 GLM 都行)。 在设置里填好自己的密钥,上传课表截图,课程和作息就认出来了。 图片直接发给你挑的那家服务商,不经过余课。

设计取向

把课表当纸看

余课按 Yohaku(余白) 的路子走:把课表当纸,不把界面当装饰。

一抹强调色

全局只用一个强调色,默认梅色,另有五色可选。它只出现在「此刻正在上」和选中态 这类真要抢眼的地方。

三档中性

浅色和深色各一套暖纸面色板,层次全交给明度。

课程淡彩

每门课按课名分到一层彩度很低的底色,方便扫读。它不代表任何意思, 课程名照旧写在上面。

余者尽留为白

没课的位置什么都不画。那片空本身就是「这里没课」。

衬线纸感

内置思源宋体和等宽字体,时间和节次排得像表格一样齐。

这也是「余课」这名字的来头:该留白的地方,就留白。

外观

和色、图标与小组件

主题

浅色、深色、跟随系统三种。

深色下暖色阶会重置成纯中性灰。低饱和的暖色压在暗底上会发橄榄, 暖意改由纸面色一个人扛。

强调色

六个和色任选,克制的,不开放自由取色。

梅 縹 若竹 朽葉 蘇芳 空色

应用图标

9 张角色图任选,点一张桌面图标立刻跟着换。也可以打开轮播,让它按你定的节奏自己换。

角色图标 1 角色图标 2 角色图标 3 角色图标 4 角色图标 5 角色图标 6 角色图标 7 角色图标 8 角色图标 9

今日课表 · 4×2

今天要上的课排开,正在上的那节标出来。

明日课程 · 2×2

今天就能看见明天上什么,不用等到第二天。

下节课 · 1×1

下一节课叫什么、几点、在哪。调休的停课补课也照实显示。

安装

三步装好

  1. 下载安装包。发布包按 CPU 架构拆开,拿不准就下通吃包,它认所有机型, 只是体积大些。第一次装要在系统里允许「安装未知应用」。
  2. 第一次打开会带你逐项打开通知、精确闹钟、电池白名单和自启动。 国产系统的省电策略会在后台清掉闹钟,这几项开齐,提醒才准。
  3. 打开周视图右上角的「添加」,把课表弄进来。

下载最新版

「设置 → 检查更新」认得你手机上装的是哪种架构,只给你下对应的那一个包。

版本
1.0.0
发布
2026-09-24
通吃包大小
—
SHA-256
见发布说明
下载安装包

正在读取最新版本…

该下哪一个

近几年的手机基本都是 64 位。

架构 适合 包
arm64-v8a 近几年的 64 位机型 在 GitHub 下载
armeabi-v7a 老一些的 32 位机型 在 GitHub 下载
universal 拿不准就选它,通吃 在 GitHub 下载

装过旧版本的话直接覆盖安装,课表和设置都留着。Releases 页另有 x86 / x86_64 包。

隐私与数据

默认只存在你自己的手机上

这里没有广告,不推促销,也没接第三方广告 SDK。

  • 课表和设置默认只在本机。不注册也能用,数据躺在你自己的设备上。
  • 云同步是可选项。注册账号之后,课表和设置在你的设备和云端之间来回同步,删掉的课跟着删。
  • 学校账号只用这一次登录。教务系统登录在应用内的浏览器会话里完成,密码不进应用数据库。
  • 雨课堂的会话同样只留在本机。拿到的是会话 Cookie,加密存在你的设备上,不上云,退出登录就清掉。
  • AI 图片识别要你先配上密钥才会启用。上传的图片发给你挑的那家服务商,不经过余课。
  • 天气按出口 IP 定位,数据来自第三方接口,请求里不带账号,也不带设备信息。应用不申请系统定位权限。

常见问题

装之前想问的

提醒没响或不准?

先到「设置 → 提醒可靠性」逐项打开通知、精确闹钟、电池白名单和自启动。 国产系统的省电策略会在后台清掉闹钟,这几项开齐通常就稳了。应用还会定期自检, 把提醒补排回来。

我的学校不在列表里怎么办?

先试「手动表格导入」或者「AI 图片导入」。学校教务系统要是比较通用, 也可以走教务导入里的通用入口,填上教务网址试试。

节次时间和我们学校不一样?

到「设置 → 作息时间」逐节改成你们学校的。节次能增能删,不限于 12 节; 也可以按开始时间、单节时长、课间和节数自动生成,保存前会校验重叠。 从教务系统导入时,脚本要是读到了学校的作息,会先把「覆盖了什么」写在明面上再应用。

换了图标,桌面怎么没变?

桌面图标由系统缓存,一般几秒就更新了。个别第三方桌面慢一些, 或者要把图标从桌面移除再加回去。

装不上 / 装完打不开?

多半是下载了跟你手机架构对不上的安装包,换成通吃包再装。 也可以在「设置 → 检查更新」里让它自己挑,它会按你手机的架构给对应的那一个。

换手机后课表怎么带过去?

登录同一个账号就同步过去了。没登录的话数据只在本机,卸载或者换机会丢, 建议先注册再迁移。

课程的颜色可以自己改吗?

目前不开放。颜色按课名自动分配,同一门课哪天都是同一个色,不用你手动维护。

能收到预发行版吗?

默认只推正式版。想第一时间试新功能、也愿意接受偶尔不稳,在「设置 → 接收预发行版」 里打开,手动检查和后台自动检查都会把 RC 一起纳入比较。

开源

MIT 协议,源码全在 GitHub

想自己构建,或者翻源码看实现,从这里进去。

构建

classtable
./gradlew assembleDebug      # 调试版(按架构分别产出,另有通吃包)
./gradlew assembleRelease    # 发布版(未配置签名时产出未签名 APK)

产物在 app/build/outputs/apk/<buildType>/ 下, 每个 CPU 架构一个 APK,外加一个通吃包。

文档