Skip to content

Repository files navigation

我的冰箱 (My Refri)

一个纯本地化的安卓应用:记录冰箱里的食物并做过期提醒。数据全部保存在手机本地(Room 数据库),无服务器、无账号、无网络权限,隐私零顾虑。

当前版本:v1.0.1

功能特性

  • 食物登记:记录冰箱中的食物名称、数量、存放日期与到期日期
  • 名称智能匹配:输入名称时自动匹配内置保鲜建议数据集,带出建议保存期限
  • 到期日历选择:到期日期支持日历式选择,减少手动输入
  • 过期状态展示:列表按新鲜 / 临期 / 已过期区分展示
  • 保鲜建议:内置常见食物的保鲜建议数据

下载安装

  • 最新版 APK:前往 Releases 页面 下载。
  • 也可直接下载仓库内的 download/app_v1.0.1.apk(与最新 Release 同一文件)。

系统要求:Android 8.0(API 26)及以上。

技术栈

  • Kotlin + Jetpack Compose(Material 3)
  • Room 2.6.1 本地数据库
  • WorkManager 2.9.1 后台提醒
  • 手工依赖注入(无 Hilt)
  • minSdk 26 / target & compileSdk 34

项目结构

app/src/main/java/com/scm/myrefri/
├── MyRefriApp.kt      # 入口:依赖装配、通知渠道、提醒调度
├── MainActivity.kt    # 唯一 Activity + Navigation Compose
├── reminder/          # WorkManager 每日过期检查 + 本地通知
├── domain/            # 纯 Kotlin 领域层(过期判定等纯函数)
├── data/              # Room 实体/DAO + 仓库层
└── ui/                # Compose 界面 + ViewModel(StateFlow)

依赖方向:ui → domain ← data;领域层不依赖任何 Android 类。

本地构建

环境要求:JDK 17、Android SDK(compileSdk 34)。

# 构建前需导出工具链环境变量(按本机路径调整)
export JAVA_HOME=<你的 JDK 17 路径>
export ANDROID_HOME=<你的 Android SDK 路径>
export PATH=$JAVA_HOME/bin:$PATH

./gradlew assembleDebug        # 出 APK:app/build/outputs/apk/debug/
./gradlew testDebugUnitTest    # 运行单元测试

参与贡献

  • Issue 欢迎:发现 bug、有功能建议,欢迎提交 Issue
  • 欢迎 Fork:任意 Fork 修改自用,均受 MIT 协议许可。
  • 暂不接受 PR:本仓库由作者个人维护,暂不支持 Pull Request,敬请谅解。

开源协议

本项目基于 MIT License 开源,可自由使用、修改与分发。

About

我的冰箱——记录冰箱里的食物并做过期提醒,安卓平台APP

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages