Medicine Cabinet v1.0 — 交付说明(2026-10-28)
需求来源:~/workspace/app-demand-shortlist-v1.md 第 3 名「家庭药箱·药品有效期管家(创意库 i105)」
需求复核结论(开工前快速复核,2026-10-28)
结论:信号未反转,照计划开工。 复核证据(Google Play / AppBrain,2026-10):
- 「药品有效期/库存管理」角度的同类产品存在但全是极小体量独立产品,没有强势头部:My Home Medicine Box(AppBrain 显示总安装 11 次、无评分)、MedBox: Meds & Expiry Tracker(总安装 40 次、Google Play 显示 10+)、Expiree(通用到期提醒,含食品/药品)。HomeMed、MyPilly 体量稍大但主打「服药提醒 + 照片识别」,不是有效期库存角度。
- 如实标注与清单口径的差别:这个角度不是「完全没人做」,而是「有人做、都没做起来」——与清单给的「低」同质化判断一致(竞品少且弱),不构成反转。差异化押三点:极简登记(无照片识别、无账号)、30/7/过期三档分级提醒、完全离线。
- 风险提示:这类产品装机量天花板看起来不高,第一版定位是「低风险高完成度的保底款」(与清单排序理由一致),不要预期它跑量;价值在验证「记录 + 提醒」骨架和上架全流程。
产物
- APK:
~/workspace/your_files/MedicineCabinet-v1.0.apk(15.6 MB,debug 签名,可直接安装)
- 源码:
~/workspace/medicine-cabinet-android/
- 包名:
com.medicinecabinet.app
- 版本:versionCode 1 / versionName 1.0
- 系统要求:Android 7.0(minSdk 24)及以上,targetSdk 34
- 技术栈:Kotlin + Jetpack Compose 纯原生(无 WebView);本地 SQLite 存储(SQLiteOpenHelper);零联网(aapt 校验:仅 POST_NOTIFICATIONS、RECEIVE_BOOT_COMPLETED 两个权限 + AndroidX 内部权限,未申请 INTERNET)、无账号
- UI 语言:英文优先(全球 Play 定位)
已实现功能(第一版只做的 2 个功能,已全部落地)
1. 药品登记与到期排序清单
- 登记字段:名称(必填)、有效期(日期选择器,口径提示 "The date printed on the packaging")、存放位置(8 个预设位置 chip + 可自由输入)、用途备注(用户自己的记录,自由文本,无任何预设建议文案)
- 列表按到期日从近到远排序;每条带状态徽标:已过期(红)/ 7 天内(橙)/ 30 天内(黄)/ 正常(绿),文案为 "Expired 5 days ago" / "Expires today" / "Expires in 12 days" 等
- 顶部汇总计数(Expired / Expiring soon / Total)+ 筛选 chip(All / Expired / Expiring soon)
- 点任意一条可编辑、可删除(删除有确认框)
2. 三档分级本地提醒 + 过期一键清理
- 提醒三档(全部本地闹钟,统一上午 9:00):到期前 30 天、到期前 7 天各一条(逐药品调度);已过期走每日 9:00 汇总提醒一条(列出过期药名,直到清理掉为止)
- 实现:AlarmManager 非精确闹钟(免 SCHEDULE_EXACT_ALARM 权限)+ 开机广播重排 + 每次打开 App 自愈重排;药品增删改后自动重排全部提醒
- Android 13+ 通知权限引导:未授权时首页顶部橙色横幅说明 + 一键申请按钮;设置页同样有状态显示、开启按钮和「系统弹窗不出现时去系统设置开」的兜底说明
- 过期一键清理:有过期项时列表顶部红色卡片「Remove all」→ 确认框 → 一次删光全部过期记录
设置页(支撑功能)
- 通知状态与开启入口、提醒机制说明、隐私说明(本地存储、无账号、不联网)
- 免责声明(红线落实):明确定位为家庭药品库存记录工具,不提供医疗建议/剂量指导/治疗建议,提示看包装与说明书、有疑问咨询医生或药剂师
- 全 App 文案已自查:无剂量建议、无服药指导、无疗效表述;备注字段为用户自由文本,App 不给任何预设用途文案
未做事项(第一版按要求砍掉,后续迭代候选)
- 药品数量/剩余量计数、条码扫描、拍照识别(竞品 MyPilly 的 AI 识别路线,第一版不跟)
- 数据导出/备份、多家庭成员共享(清单里的会员点,未接)
- 广告与会员付费(变现未接,先验证产品)
- 多语言(当前仅英文)
- 服药提醒类功能——按红线永不做(定位严格限定库存/有效期管理)
已知问题
- 提醒使用非精确闹钟,触发可能有分钟级漂移;个别厂商强省电策略下可能延迟到下次亮屏/开 App(打开 App 即自愈重排)。对「天」级提醒无实质影响,但「可靠性」是本品类的生命线,上架前建议在目标机型(尤其国产 ROM)真机实测一轮
- 过期判定口径:有效期当天算「Expires today」(未过期),次日起算过期并进入每日提醒——与「有效期至当日」的通行理解一致,特此明示
- 已过期汇总提醒每天 9:00 重复,直到用户清理过期项为止(有意为之,与竞品 HomeMed 的 daily alerts 口径一致)
- 本次仅完成构建 + aapt 静态校验,未在真机/模拟器实测 UI 与通知全流程