老杨说话的地方
  • 首页
  • 关于老杨
  • 博客时间
  • 文章分类
    • 人工智能
    • 人生感悟
      • 共产主义
      • 能量哲学
      • 自然辩证法
    • 信息技术
      • C#笔记
      • LaTex
      • Linux
      • RIME
      • Ubuntu&Debian
      • WordPress
      • 基于Java的B/S系统构建
      • 开源开发
      • 病毒相关
      • 编程的坏习惯
      • 网上办公系统
    • 往事随风
      • 我在大学那几年
      • 童年趣事
      • 精彩生活
    • 情感随笔
    • 文学创作
      • 小说
    • 生活记录
      • 博士进行中
      • 美国一年
      • 老杨学游泳
    • 评论杂谈
  • 留言本
我是老杨
张驰有度 宠辱不惊
  1. 首页
  2. 信息技术
  3. 开源开发
  4. 正文

同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端)

2026年10月19日 495点热度 0人点赞 2条评论

这话,似乎是一种暗示,就是还有其他的鸿蒙应用会上架。

我是有数据洁癖的,就是,数据能掌握在自己手中,就不会放在平台上,自从我搞了一个自己的服务器,并买了一个NAS,我就把很多数据都放在自己这里了。

日程是我认为比较重要的数据,但是我发现很多人并不重视,好在群晖的NAS有日历的功能,于是我就用这个日历来管理我的日程。之前在各类设备上使用都没问题,可是手机升级成为鸿蒙系统,竟然一个好用的CalDav客户端都没有,华为官方的那个,只能读取,并不能编辑,有点残废,后面实在忍不了,自己做一个吧。

于是就有了「同步日历」。自己用了一段时间,感觉还行,这里写篇文章介绍一下,也给有同样需求的朋友参考。

本文目录8
  • 1它到底是什么
  • 2几个特点
    • 2.1时间轴:日程不是列表,是时间
    • 2.2可选地“镜像”到系统日历
    • 2.3四张服务卡片
    • 2.4后台同步
  • 3关于隐私
  • 4最后

1它到底是什么

一句话:面向鸿蒙(HarmonyOS NEXT)的 CalDAV 日历同步应用。

它不提供云端托管,也不需要注册任何账号。你把它连到你自己的 CalDAV 服务器上(群晖、Nextcloud、Radicale、Baïkal,或者任何支持标准 CalDAV 的服务),它就负责把日程同步下来、显示出来,再把你的修改推回服务器。数据自始至终在你的设备和你的服务器之间流动,中间没有第三个地方。

手机和平板都能装,源码是开放的。

2几个特点

2.1时间轴:日程不是列表,是时间

这是我做这个 App 最主要的原因。

大部分日历软件把一天的日程“一条一行”地列出来。这样能看清“有哪些事”,但看不清“什么时候、多长时间、跟什么撞上了”。比如上午十点你有个会,同时也约了一通电话,列表里它们就是相邻的两行,你得自己在脑子里换算时间才知道重了。

「同步日历」默认用一种我把它叫做时间轴的方式来画:

  • 一条日程按真实时长画成一块竖着的色块,块越高,时间越长;
  • 时间重叠的日程,会自动左右并排,各占一半宽度,不会互相盖住;
  • 全天、跨天的日程单独画在时间轴上方,不跟日内日程混在一起;
  • 如果是“今天”,刻度上还有一条红色的当前时刻线,随时间自动往下走,一眼就知道现在进行到哪、下一件事还有多久。

色块的颜色取自所属日历本的默认色,所以看一眼颜色就知道这条日程来自哪个本。刻度范围默认是 8:00 到 18:00,如果某天在 8 点前或 18 点后有日程,才会把那段刻度一并显示出来——这样即使一天只有一两件事,也不会只剩短短的一条刻度。

如果你就是想快速扫读、或者日程标题特别长,可以在「设置 → 日程显示方式」里一键切成列表方式:同一天的日程改成逐条排列,不受时间刻度约束,长标题不容易被挤成省略号。

两种方式共用同一套数据和操作,切换只改变“怎么画”,不会动到任何日程。而且这个开关是全局的,主界面和桌面卡片会一起生效。

2.2可选地“镜像”到系统日历

这里要解释一个我这边的取舍。

鸿蒙系统里有些入口——比如小艺、桌面上的系统日历卡片、手表、负一屏——它们只认系统日历,不认第三方 App 自己存的日程。也就是说,你在这个 App 里安排得再清楚,小艺也看不见。

所以「同步日历」做了一个可选的日历镜像:开启后,把你选中的日历本写进系统日历里一个由本应用创建的独立账户,这样上述那些系统入口就都能看到你的日程了;每个日历本保持各自的颜色,彼此分得清。系统日历里的改动,也会在下次同步时回读、写回你的 CalDAV 服务器,形成闭环。

这个功能默认是关闭的,需要你自己在设置里打开;打开时会单独申请“写入日历”权限。不想要了可以随时关掉,并且一键清除已经镜像出去的内容。

2.3四张服务卡片

不看手机也能知道今天有什么安排:2×2 今日速览、2×4 正在进行、4×4 今日时间轴、6×4 全天时间轴,四种尺寸。其中 4×4 和 6×4 会在桌面上画一个迷你时间轴,冲突日程左右并排、还有当前时刻的红线,支持前后翻页。

2.4后台同步

鸿蒙出于省电考虑,不允许普通应用在后台常驻并高频轮询,这一点我完全理解,也不打算跟系统对着干。所以用的是组合方案:前台按间隔自动同步 + 后台由系统定时唤起同步 + 回到前台/网络恢复时立刻补一次。

后台那条通道受系统省电策略约束(最短大约 2 小时一次,应用使用越频繁间隔越接近这个下限),需要在设置里把「后台自动同步」打开。老实说,如果你的场景是“日程变了要马上知道”,任何系统的普通应用都做不到,除非走厂商的推送服务——而我做这个 App 的出发点之一,恰恰是不依赖厂商云。

为了能最大限度的成功在后台同步数据,使用了卡片自带的刷新功能,每30分钟刷新一次,这样,如果你在桌面上放了一个卡片,那么就会每30分钟更新一次同步。

3关于隐私

这部分我想说得具体一点,免得空喊口号:

  • App 没有自己的服务器,开发者无法访问你的日程内容;
  • CalDAV 的账号密码用 AES-256-GCM 加密后存在本机,密钥由系统硬件密钥库(HUKS / TEE)生成和保管、不可导出,只在同步时临时解密;
  • 权限只申请功能必需的:读取日历、位置(都是只在前台用);“写入日历”只在你主动开启镜像时才申请,而且只写本应用自己创建的那个账户,不会动系统日历里其它任何内容;
  • 没有集成任何第三方统计、广告或数据采集 SDK,代码完全开源,欢迎审计。

4最后

这个 App 已在华为应用市场可以下载,源码也放在我自己的代码库上。

如果你也有自己的 CalDAV 服务器,或者只是不想把日程交给别人的云,欢迎试试看。用着有问题、或者有什么功能是你特别想要的,可以到官网的反馈页留言,或者给我发邮件。

  • 官网:https://synccalendar.yangyq.net/
  • 华为应用市场:https://appgallery.huawei.com/app/detail?id=synccalendar.yangyq.net
  • 开源仓库:https://code.yangyq.net/laoyang/SyncCalendar
  • 使用帮助:https://synccalendar.yangyq.net/uh.html

本人承诺,该软件,永久开源免费,永远不会有广告,永远不会搜集用户任何数据。

如有疑问,可以留言。

标签: NAS 日历 鸿蒙
最后更新:2026年10月23日
老杨

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

点赞

评论(2)

写下你的评论
  1. 乱云/Akay
    乱云/Akay2026年10月23日 11:14

    没有鸿蒙设备,吆喝一声支持老杨的产品

    1. 老杨
      老杨作者2026年10月24日 22:21

      @乱云/Akay 感谢支持。可以买个鸿蒙设备玩玩

发表评论

选择代码语言
选好后在光标处插入代码块,把示例文字换成你的代码即可。

老杨

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

搜索
最新 热点 随机
简航:极简开源个人导航SimpleNav 关于机器人的发展 遥遥领先 开源密码生成工具SimplePassword 痛苦根源 同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端) 别成为AI的奴隶 给阿嬷的情书 信息焦虑综合症 PUA
为多用户安装Anaconda及其使用方法WordPress主题发布:kratos_YangLaTex中上划线\overline和\bar的使用说明LaTex中设置字体的正确方法那一年,2009使用Windows7自带Windows Media Center播放RMVB影片幼儿园:回味童年童年趣事之气门芯这几天的事儿无插件实现WordPress留言本
晴迷星途20希望 新的Google Apps带来的困惑 同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端) 网站被黑 假期后遗症 随波逐流04石像 再发几个腾讯微博邀请码 热爱生活 美国式烧烤(近照NP) 五月天@青岛>=垃圾
最近评论
  • 实在抱歉,这两天比较忙,没看邮箱,没有名额了已经,再问问其他老师吧。
    老杨·2 天前·留言本
  • 老师你好,这学期考虑接毕设指导吗?具体可以老师您可以查看邮箱,申请已提交到邮箱
    BroMikey·2 天前·留言本
  • 感谢支持。可以买个鸿蒙设备玩玩
    老杨·2 周前·同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端)
  • 没有鸿蒙设备,吆喝一声支持老杨的产品
    乱云/Akay·2 周前·同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端)
  • 先从减少手机使用时间开始。
    shanshan·2 月前·信息焦虑综合症
  • 所以必须得自己下定决心痛改前非,而不是跟自己讲条件。
    shanshan·2 月前·第二青春计划失败
  • 这种平台挺多的,但是应该没啥用,能有啥情绪价值比躺着刷手机更好呢?
    老杨·2 月前·第二青春计划失败
  • 已经遇到了,额外支付了170,托运登机行李,还不是托运行李。
    老杨·2 月前·春秋航空让人长见识
  • 那很好,恭喜你
    老杨·2 月前·PUA
  • 可以尝试改变。
    老杨·2 月前·信息焦虑综合症
  • 现在很多人离开AI已经不知道怎么工作了。
    老杨·2 月前·别成为AI的奴隶
  • 建议开发一个适合P人的工作生活计划平台,完不成没什么惩罚、但是完成了有大大的情绪…
    shanshan·2 月前·第二青春计划失败
文章分类
选择分类
  • 人工智能13
  • 人生感悟121
    • 共产主义1
    • 能量哲学12
    • 自然辩证法12
  • 信息技术235
    • C#笔记6
    • LaTex12
    • Linux18
    • RIME4
    • Ubuntu&Debian21
    • WordPress1
    • 基于Java的B/S系统构建10
    • 开源开发3
    • 病毒相关3
    • 编程的坏习惯4
    • 网上办公系统9
  • 往事随风41
    • 我在大学那几年18
    • 童年趣事12
    • 精彩生活5
  • 情感随笔113
  • 文学创作69
    • 小说68
  • 生活记录220
    • 博士进行中6
    • 美国一年22
    • 老杨学游泳4
  • 评论杂谈169
关注公众号

COPYRIGHT © 2026 老杨说话的地方. ALL RIGHTS RESERVED.

THEME KRATOS YANG Modified BY 老杨

鲁ICP备17014997号-4

鲁公网安备 37021302000754号

本文目录8
  • 1它到底是什么
  • 2几个特点
    • 2.1时间轴:日程不是列表,是时间
    • 2.2可选地“镜像”到系统日历
    • 2.3四张服务卡片
    • 2.4后台同步
  • 3关于隐私
  • 4最后