今年夏天起我一个人在做小工具,这篇讲其中四个,都在鸿蒙应用市场上架:养车记账、加班调休记录本、人情记录本、家庭血压记录本。都是记录类的小东西,没有账号,装上就能用。
做下来我感觉最难的不是把功能写出来,而是每个应用里都会撞上同一种局面:有个数字我算得出来,但它一旦显示在屏幕上,就会被当成结论。
这四处我都选了不给。它们是我挑出来讲的四个例子,不是全部——下面是各自的样子。
一公里多少钱,得连算式一起给
养车记账的主卡片上写着「每公里成本 2.26 元」,下面跟着一行小字:支出 ¥7,049.00 ÷ 里程 3120 公里(未配置折旧)。
那行小字在第一个版本上线之前就定下来了,理由很朴素:光看 2.26 这个数,我自己也说不清它到底算了什么——加油肯定在里面,保险算不算?上个月那次保养摊到哪儿去了?折旧摊了没有?
所以口径直接写在卡片上,谁都能自己核对。这个做法一点不高级,代价是界面变挤了,可它把一个「你信不信我」的数字变成了一个「你可以自己验」的数字。

真正没给的是另一个数。油车有油耗,电车有电耗,混动车呢?插电混动两次补能之间跑的那段路,里面混着另一种能源,把这段里程整个算到汽油头上,那个数在数学上就不成立。
现在混动车在这一栏看到的是一句话——「混动车油电混用,单独的油耗/电耗口径不准确,这里只给每公里综合成本。」一位混动车主打开应用,看到别的车有油耗而自己没有,大概率会觉得这应用少做了一块。我认了。给一个错的数,比空着更糟。
四个里只有养车记账是完全免费的,没有内购,没有订阅,也不接广告。它不申请网络访问权限,记的东西不联网、不上传,导出 CSV 的时候由系统面板决定发给谁,应用不参与传输。
跨零点不是异常输入,是加班这件事的常态
加班调休记录本最先写的是时长计算。21:00 到次日 01:30,等于 4 小时 30 分。
这句话看着不值一提,但它在我的测试文件里被标成了最要紧的一条,因为跨零点根本不是什么边角情况——真加班的人有相当一部分就是这么跨过去的。把它当异常处理,这个应用一半的场景就废了。
调休那一半更麻烦。攒下来的调休有来源、有天数,也有有效期,而有效期是会作废的。所以调休账户里每一笔都写着还剩多少、哪天作废,快到期的会顶到首屏来提醒你。到期当天仍然算有效,第二天才作废——这种一天之差的规则,写代码的时候最容易随手写错,我把它单独写成了一条测试。

没做的那一步是换算。一笔 4 小时 30 分的加班能不能换成调休、算几个半天,各家公司的规矩都不一样,应用不替你决定,它只负责把加班记成一条时间线、把调休记成一个账户。自动换算当然更好用,可它只能靠猜一套通用规则,而那套规则在很多人那儿是错的。
免费版可以记 1 条调休,加班记录不限条数,导出 CSV 一直免费;完整版一次买断,不做订阅。它不申请网络访问权限,通讯录和日历也都不读,更不会定位。
顺便说一句:它仅供个人记录,不构成任何法律意见。真涉及劳动权益的事,请去问该问的人。
该回多少,数字旁边必须写着依据
人情记录本是四个里最容易被误解成「替你做决定」的那个。它会算出该回多少,比如对方给过 2600,它给出的参考区间是 2600–3000,落点写作「回 3000 元稳妥」。
我给它加了一条硬规则:结果里不能出现 4。不是迷信,是这个数字的用途决定的——一个带 4 的参考值,收到的人多半不会照着做,反而会觉得这应用不懂事,那它就白算了。

更重要的是那行依据。参考值下面一定跟着它是怎么来的:往年哪一笔、多少钱、隔了多久。我不希望有人照着一个凭空冒出来的数字随礼,也不希望他回头怪这个应用——所以依据必须摆在旁边,让人一眼判断该不该采纳。卡片最后一句是固定的:随多少由你自己决定。
它还能记「轮流」:几个人轮流请客或者随份子,记一下谁付的,下次该谁自动排出来。免费版记 3 户加 1 个圈子,条数不限,导出对所有人免费;完整版一次买断,解锁不限户数和圈子。它同样不用注册,也不申请网络访问权限。
参考区间可以对照,判断不归它
家庭血压记录本是我最谨慎的一个。血压、血糖、体重、心率和用药计划记在一个本子里,自动出趋势折线,图上有一条参考区间的对照线,标着引自公开权威共识、仅供参考。

它不做的事情很明确:不测量,也不判断。屏幕上不会出现任何一句「你这个数偏高、建议怎样」。做到这一点没什么技术含量,难的是忍住——这类应用里,加一句听起来很关切的判断是最容易的事,而它恰恰是最不该有的东西。身体的事,请以医生的意见为准,这个应用能帮的只是把数据攒齐,让你去问医生的时候手里有东西。
倒是有一个设计我一直挺满意:一键放大字体和按钮的适老模式,字号整体乘以 1.3,控件也跟着变大。这是这个应用从第一版就定下的头号优先级,理由是记录这件事如果只有子女能操作,老人自己想补一条就得等人回家,那这本子多半记不长。
记录、趋势、参考区间对照、用药提醒和 CSV 导出是免费的;免费版记 1 位成员,多成员档案、打印版记录单和高级图表是一次性买断解锁,不是订阅。权限只有两类,都跟提醒有关:一是日历读写,用来把服药提醒写进手机自带的日历,提醒留在本机、不同步到任何服务器;二是系统的代理提醒,让应用不在前台时也能按时响。除此之外不申请网络访问权限。
四次「不给」其实是同一件事
这四个数字——混动车的油耗、加班能换几个半天、随多少礼、这个血压算不算高——性质完全不同,但我停下来的理由是同一个:它们的口径要么在数学上不成立,要么取决于我不知道的外部规则,要么根本不该由一个记账工具来说。
这类工具算出来的所有东西,原料都是用户自己录的那些数。原料的边界在哪儿,结论的边界就在哪儿。越过那条线给出来的数字,看着更好用,其实是把不确定性藏起来,让人替我承担。
所以四个应用里都留着一行看起来有点扫兴的小字,解释为什么这里没有数。我知道它们让界面显得不够利落,但我还没想出更好的处理方式。
我知道它们差在哪
写到这里应该老实交代局限,免得有人装了才发现不合用。
最大的一条:这四个只有鸿蒙版本,装在纯血鸿蒙手机上。没有 iOS 版,也没有安卓版,短期内也不会有——我一个人,多一个平台就是多一条维护线。
第二条是没有网络能力的代价。四个都不申请网络访问权限,没有账号也就没有云同步,数据只存在这台设备上,换手机得靠自己导出再导入:四个都提供 CSV 导出,人情记录本的完整版另有数据包导出导入。这个取舍我不打算改,但它确实是取舍,不是纯粹的优点。
第三条是它们都只管记录和算术。加油、加班、血压,全要你自己填进去;抓账单、连打卡机、接体检报告这类事它们一件也做不了,同样是因为不申请网络访问权限,这些能力在源头上就没有。
还有一条:它们都小。一个应用解决一件事,做完了就是那么大,不会长成什么平台。我觉得这样挺好,但如果你要的是一个能装下全部生活记录的大工具,这四个都不是。
利益相关:本文提到的四个应用都是我自己开发并在鸿蒙应用市场上架的,我是开发者,存在直接的利益相关。没有任何第三方就本文的写作或发布提供金钱、产品或其他形式的支持。
关于文中涉及健康与劳动权益的部分:本文不提供、也不能替代医生、律师或其他合资格专业人士的意见。文中提到的记录类工具只做记录和算术,参考区间引自公开权威共识、仅供对照,既不做测量也不做判断;未经专业鉴别就照着这些记录或数字采取行动(例如自行调整用药、据此主张劳动权益),可能带来不利后果。身体的问题请咨询医生或到医疗机构就诊,劳动权益相关问题请咨询律师或当地劳动保障部门。
AI 协作声明:本文由作者与 AI 协作整理,事实经作者核验。具体而言:全文的选题、观点、四处产品决策的经过与取舍理由均由作者本人提供;作者使用大语言模型 Claude 辅助完成初稿的文字组织与润色,AI 未参与事实的产生。作者已逐条核对文中的功能描述与应用当前在架版本的实际能力、核对数字与界面原文,并检查了与他人作品雷同或高度相似的内容。
