📱 Side Lying Monitor - 枕边哨
FlutterMobile AppHealthSensorAndroidDart
智能侧躺监测与健康提醒应用,通过实时监测手机姿态,帮助用户避免长时间侧躺使用手机,保护颈椎健康。
Side Lying Monitor(枕边哨)是一款智能侧躺监测应用,通过实时监测手机姿态,帮助用户避免长时间侧躺使用手机,从而保护颈椎健康。
✨ 核心功能
- ✅ 实时姿态监测:通过传感器实时监测手机姿态,识别侧躺姿势
- ✅ 智能提醒:检测到侧躺姿势后,通过震动和通知提醒用户
- ✅ 自定义姿势:支持录制和识别自定义姿势
- ✅ 免打扰模式:支持设置免打扰时间段
- ✅ 统计功能:记录每日提醒次数
- ✅ 主题切换:支持深色/浅色主题切换
- ✅ 后台运行:支持后台持续监测(Android)
🛠️ 技术栈
- 框架:Flutter 3.24.3
- 语言:Dart 3.5.3
- 主要依赖:
sensors_plus- 传感器数据采集vibration- 震动反馈shared_preferences- 本地数据存储flutter_local_notifications- 本地通知
📦 项目结构
lib/
├── controllers/ # 控制器(提醒、生命周期)
├── models/ # 数据模型
├── pages/ # 页面组件
├── services/ # 服务层(监测、设置、通知等)
├── utils/ # 工具类
└── widgets/ # 通用组件
🚀 快速开始
环境要求
- Flutter SDK >= 3.5.0
- Dart SDK >= 3.5.0
- Android Studio / VS Code
- Android SDK (Android 8.0+)
安装步骤
-
克隆项目
GitHub:
git clone git@github.com:itkdm/side-lying-monitor.git cd side-lying-monitorGitee:
git clone git@gitee.com:itkdm/side-lying-monitor.git cd side-lying-monitor -
安装依赖
flutter pub get -
运行项目
flutter run
构建发布版本
Android APK
flutter build apk --release
Android App Bundle
flutter build appbundle --release
🔧 架构设计
项目采用分层架构:
- UI层:Flutter Widgets,负责用户界面展示
- 控制器层:管理业务逻辑和状态
- 服务层:提供核心功能服务(监测、设置、通知等)
- 原生层:Android 原生服务,负责后台监测和悬浮窗
核心服务
PostureMonitor- 姿态监测服务SettingsRepository- 设置管理ReminderController- 提醒控制LifecycleCoordinator- 生命周期协调FloatingWindowManager- 悬浮窗管理
⚠️ 注意事项
-
权限要求:
- Android 需要悬浮窗权限(用于后台监测)
- 需要通知权限(用于提醒)
- 需要忽略电池优化权限(保证后台运行)
-
兼容性:
- 最低支持 Android 8.0 (API 26)
- 推荐 Android 10.0+ (API 29)
-
性能优化:
- 传感器采样频率已优化,降低电池消耗
- 使用 WakeLock 保证后台服务稳定运行
📄 许可证
本项目采用私有许可证,未经授权不得使用。