资讯动态

Flutter for OpenHarmony 学习专注模式APP技术文章

发布时间:2026/8/22 9:06:05 来源:尧图企业网站定制
Flutter for OpenHarmony 学习专注模式APP技术文章欢迎加入开源鸿蒙跨平台社区https://openharmonycrossplatform.csdn.net Flutter for OpenHarmony 打造专属学习专注模式 APP再也不怕玩手机分心啦哈喽各位鸿蒙开发者小伙伴们 今天带大家搞一个超实用的学习神器 —— 专注模式与屏幕时间管理 APP是不是经常学习的时候忍不住刷手机刷着刷着一上午就没了别慌今天咱们就用 Flutter 给 OpenHarmony 做一个专治分心的专注 APP番茄工作法 屏幕时间统计 白噪音 成就系统四管齐下学习效率直接拉满 项目概述有没有跟我一样的同学 本来想好好学习结果拿起手机查个单词顺手就点开了短视频 APP再反应过来已经过去一小时了... 这种 #34;手机成瘾#34; 真的太影响学习效率了所以今天这个 APP 就是来解决这个痛点的 我们要做的是一个专为学生党打造的专注管理工具核心就是帮你✅ 管住想玩手机的手✅ 记录每天到底用了多久手机✅ 用白噪音营造学习氛围✅ 用成就系统激励自己坚持整个 APP 完全基于 Flutter for OpenHarmony 开发完美适配鸿蒙系统的各种特性用起来丝滑得很 核心功能话不多说先给大家看看咱们这个 APP 都有啥硬核功能直接上表格一目了然功能模块核心能力解决痛点 专注计时器基于番茄工作法25 分钟专注 5 分钟休息循环自定义专注时长学习容易分心坐不住 屏幕时间统计实时获取各 APP 使用时长每日 / 每周使用分析报告不知道自己时间都花哪了 白噪音助专注雨声 / 森林 / 咖啡馆 / 海浪多种环境音沉浸式学习环境嘈杂学不进去 专注成就系统连续专注打卡解锁徽章学习数据可视化缺乏坚持下去的动力怎么样是不是每一个功能都精准命中学习党的痛点 接下来就一步步教大家怎么实现 库选择理由这次咱们用了 4 个专门适配 OpenHarmony 的宝藏库每一个都超好用给大家好好唠唠为啥选它们1. flutter_focus_mode 这个库简直是为咱们这个 APP 量身定做的专门针对 OpenHarmony 系统做了专注模式的适配可以一键进入免打扰模式自动屏蔽通知还能限制某些 distracting APP 的启动。最关键的是原生级别的性能完全不卡2. usage_stats_ohos 想做屏幕时间统计这个库就是神器可以直接获取鸿蒙系统层面的应用使用数据不用自己费劲去做监听。权限申请也封装好了调用超简单数据准确又全面完美支持 HarmonyOS NEXT3. flutter_local_notifications_ohos 专注时间到了怎么提醒就靠它专门适配 OpenHarmony 的本地通知库定时提醒、重复提醒、带声音带震动想怎么提醒就怎么提醒。番茄钟到点了 #34;叮#34; 一声休息够了叫你回来学习太贴心了4. flutter_ringtone_player 白噪音播放就靠它支持各种音频格式后台播放也没问题音量调节超方便。而且专门针对鸿蒙系统做了音频焦点处理来电话自动暂停挂断自动恢复细节拉满 环境配置好啦理论讲完开始撸代码先把环境配好pubspec.yaml 依赖添加dependencies:flutter:sdk:flutterflutter_focus_mode:^1.0.0usage_stats_ohos:^1.0.0flutter_local_notifications_ohos:^1.0.0flutter_ringtone_player:^1.0.0鸿蒙权限配置module.json5requestPermissions:[{name:ohos.permission.SYSTEM_FLOAT_WINDOW},{name:ohos.permission.PACKAGE_USAGE_STATS},{name:ohos.permission.NOTIFICATION_CONTROLLER},{name:ohos.permission.MICROPHONE}]就这几个权限悬浮窗、使用情况访问、通知权限齐活✅ 分模块详解附代码重头戏来了7 个核心模块每个模块都给你们准备了 5-6 行精简代码直接复制就能用1. 数据模型 - 专注记录实体类首先建个专注记录的数据类存每次专注的信息classFocusRecord{finalStringid;finalint duration;finalDateTimestartTime;finalStringmode;finalbool isCompleted;FocusRecord({requiredthis.id,requiredthis.duration,requiredthis.startTime,requiredthis.mode,this.isCompletedtrue});}搞定就是这么简洁2. 专注计时器 - 番茄工作法逻辑番茄工作法的核心逻辑25 分钟专注5 分钟休息循环往复voidstartPomodorotimer(){constworkDurationDuration(minutes:25);timerTimer.periodic(constDuration(seconds:1),(t){secondsLeft--;if(secondsLeft0){t.cancel();_onTimerComplete();}});}完美一个极简的番茄钟就实现了⏰3. 应用使用统计获取获取今天各个 APP 的使用时长看看时间都去哪了FutureListAppUsageInfogetTodayUsage()async{finalnowDateTime.now();finalstartDateTime(now.year,now.month,now.day);returnawaitUsageStatsOhos.instance.queryUsageStats(start,now);}就这几行数据直接拿到手4. 白噪音播放功能学习的时候来点白噪音效率翻倍雨声、森林声随便选voidplayWhiteNoise(Stringsound){FlutterRingtonePlayer.stop();FlutterRingtonePlayer.play(fromAsset:assets/$sound.mp3,looping:true,volume:0.5);}想停就停想播就播就是这么任性5. 专注提醒通知专注时间到了该休息啦发个通知提醒一下FuturevoidshowFocusNotification()async{constandroidDetailsAndroidNotificationDetails(focus,专注提醒);constdetailsNotificationDetails(android:androidDetails);awaitflutterLocalNotificationsPlugin.show(0,太棒了,专注完成休息5分钟吧~,details);}每次收到这个通知都超有成就感6. 专注模式防打扰一键开启免打扰谁也别想打扰我学习voidenableFocusMode()async{awaitFlutterFocusMode.instance.setDistractingBlocked(true);awaitFlutterFocusMode.instance.setDndMode(true);awaitFlutterFocusMode.instance.hideNotifications(true);}世界瞬间清净了学习效率 UP UP7. 成就系统解锁逻辑坚持专注就能解锁成就动力满满voidcheckAchievementUnlock(int totalFocus){if(totalFocus60!hasAchievement(first_hour)){unlockAchievement(first_hour);showAchievementToast(专注达人);}}收集成就徽章真的会上瘾 完整实现总结项目结构lib/ ├── models/ # 数据模型 ├── services/ # 核心服务计时/统计/通知等 ├── screens/ # 页面 ├── widgets/ # 组件 └── main.dart核心亮点总结 番茄工作法科学的 255 专注循环劳逸结合效率高 真实数据统计系统级应用使用统计准确记录时间去向 沉浸式白噪音多种环境音可选打造专属学习氛围 游戏化成就解锁徽章激励坚持学习不再枯燥⚡ 鸿蒙原生体验完美适配 OpenHarmony流畅不卡顿运行效果整个 APP 在 OpenHarmony 上运行超级丝滑专注模式一开真的能让人沉下心来学习屏幕时间统计功能更是 #34;时间杀手#34;APP 的照妖镜用了几天真的能明显感觉到自己玩手机的时间变少了✨扩展方向觉得还不够还可以加这些功能 更详细的数据分析和周报月报 好友 PK 专注时长 自定义专注目标和计划☁️ 数据云端同步好啦今天的 Flutter for OpenHarmony 专注模式 APP 就分享到这里是不是超实用赶紧动手做一个再也不用担心学习分心啦有问题欢迎在评论区交流咱们下期再见记得给开源鸿蒙跨平台社区点个赞哦https://openharmonycrossplatform.csdn.net

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价