一个有意思的闹钟APP

我想要一个可以直接安装在手机上的闹钟程序,名字就叫“摔碗猫”,主界面是一只猫拿着一个碗,可以监控手机屏幕使用时间,早晨叫起床,晚上催睡觉,可以设置起床和休息时间,碗的个数,拖延就导致小猫摔碗,摔的碗放进回收箱,记录摔了几个碗。以下是deepseek帮忙规划的:下面是一个完整的手机小程序“凿碗猫”的实现方案,使用Flutter框架开发(支持Android/iOS),包含所有核心功能:---### 一、功能设计 1. **主界面** - 动态猫咪动画(手持碗) - 实时显示剩余碗数 - 屏幕使用时间统计(今日/本周) - 回收箱入口(显示已摔碗数)2. **监控逻辑** - ⏰ **早晨闹钟**:在设定时间播放猫叫声闹铃 - 🌙 **睡眠监测**:超过设定睡眠时间使用手机→触发摔碗 - 🕒 **拖延惩罚**:每次拖延摔1个碗(动画效果+碎碗音效) - 🔄 **每日重置**:早晨自动补满碗3. **数据存储** - 本地保存:起床眠时间、碗总数、摔碗记录 - 历史统计:按日/周/月显示摔碗趋势---### 二、技术实现方案 ```dart // 核心依赖 dependencies: flutter_local_notifications: ^13.0.0 // 闹钟通知 screen_time: ^0.1.2 // 屏幕使用时间监控 shared_preferences: ^2.0.15 // 本地存储 lottie: ^2.0.0 // 猫咪动画 audioplayers: ^3.0.1 // 音效播放 ```#### 核心代码结构: ```dart // 1. 主界面 - main_screen.dart class MainScreen extends StatefulWidget { @override _MainScreenState createState() => _MainScreenState(); }class _MainScreenState extends State<MainScreen> { int bowlsLeft = 5; int brokenBowls = 0; Duration screenTimeToday = Duration.zero; @override void initState() { _loadSettings(); _startMonitoring(); super.initState(); } void _startMonitoring() { // 每5分钟检查一次 Timer.periodic(Duration(minutes: 5), (timer) { _checkSleepTime(); _updateScreenTime(); }); } void _checkSleepTime() { if (DateTime.now().isAfter(sleepTime)) { if (ScreenTime.isUsingPhone()) { _breakBowl(); // 触发摔碗 } } } void _breakBowl() { if (bowlsLeft > 0) { setState(() { bowlsLeft--; brokenBowls++; }); // 播放碎碗音效 AudioPlayer().play(AssetSource('glass_break.mp3')); // 更新存储 Prefs.saveBowls(brokenBowls, bowlsLeft); } } // 早晨重置碗数 void _resetBowls() { setState(() { bowlsLeft = totalBowls; }); } @override Widget build(BuildContext context) { return Scaffold( body: Stack( children: [ // 猫咪Lottie动画 Lottie.asset('assets/cat_holding_bowl.json'), // 碗计数器 Positioned( top: 20, child: Text('$bowlsLeft/$totalBowls', style: TextStyle(fontSize: 24)), ), // 回收箱按钮 Positioned( bottom: 20, child: IconButton( icon: Stack(children: [ Icon(Icons.delete), Text('$brokenBowls', style: TextStyle(color: Colors.red)) ]), onPressed: () => Navigator.push(...), ), ) ], ), ); } }// 2. 后台服务 - background_service.dart class BackgroundService { static void scheduleAlarms() { // 设置早晨闹钟 FlutterLocalNotificationsPlugin().zonedSchedule( 0, '喵!该起床啦!', '碗已经补满,开始新的一天吧~', _nextAlarmTime(), NotificationDetails(...), uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime, androidAllowWhileIdle: true, matchDateTimeComponents: DateTimeComponents.time, payload: 'alarm' ); } static void checkSleepViolation() { // 从本地获取睡眠时间设置 final sleepTime = Prefs.getSleepTime(); if (DateTime.now().isAfter(sleepTime)) { final usage = ScreenTime.getTodayUsage(); if (usage > Duration(minutes: 5)) { // 触发摔碗逻辑 EventBus.emit('break_bowl'); } } } }// 3. 设置页面 - settings_screen.dart class SettingsScreen extends StatelessWidget { @override Widget build(BuildContext context) { return Column( children: [ TimePicker('起床时间', onChanged: (time) => Prefs.saveWakeTime(time)), TimePicker('睡觉时间', onChanged: (time) => Prefs.saveSleepTime(time)), Slider( min: 3, max: 10, label: "碗的数量: ${Prefs.getTotalBowls()}", onChanged: (v) => Prefs.saveTotalBowls(v.toInt()) ), ], ); } } ```---### 三、核心功能实现细节 1. **猫咪动画** - 使用Lottie制作逐帧动画: - 正常状态:猫咪抱着碗摇晃尾巴 - 摔碗状态:碗碎裂→猫咪委屈表情 - 动画资源:[免费猫咪动画模板](https://lottiefiles.com/search?q=cat)2. **屏幕时间监控** ```dart // 获取当日使用时间 Future<Duration> getTodayUsage() async { final usage = await ScreenTime.getScreenTime(); return usage; } ```3. **摔碗惩罚系统** - 每次检测到超时:减少碗数 + 播放动画 - 碎碗进入回收箱(带时间戳记录) - 每日7:00自动重置碗数4. **数据持久化** ```dart // 存储示例 class Prefs { static Future<void> saveBowls(int broken, int left) async { final prefs = await SharedPreferences.getInstance(); await prefs.setInt('broken_bowls', broken); await prefs.setInt('left_bowls', left); } } ```---### 四、UI设计要点 | 区域 | 设计说明 | |--------------|---------------------------------| | **猫咪区域** | 占据屏幕70%区域,Lottie动画循环播放 | | **碗计数器** | 右上角显示 `3/5` (当前/总数) | | **回收箱** | 底部垃圾桶图标 + 红色角标数字 | | **设置入口** | 左上角齿轮图标 → 时间/碗数设置 |---### 五、特殊场景处理 1. **多日未重置** - 如果连续3天未按时起床 → 猫咪变成脏兮兮状态 2. **成就系统** - 连续7天不摔碗 → 解锁金色猫碗皮肤 3. **数据同步**

APP原生开发唐山市

¥100 查看详情

app原型设计需求外包介绍
本页是猪八戒网为您找到的app原型设计需求外包信息,包括威客参与数、剩余参与机会及截止日期等,为个人及公司、企业提供最新最全的app原型设计需求外包信息,查找app原型设计需求,尽在猪八戒网。
app原型设计需求推荐