Flutter for OpenHarmony 外语单词背诵与听力训练APP

Flutter for OpenHarmony 外语单词背诵与听力训练APP

欢迎来到开源鸿蒙跨平台开发社区:https://gitee.com/openharmony-sig/flutter_flutter


📖 项目概述

哈喽各位鸿蒙开发者们!👋 今天带大家搞一个超实用的外语学习 APP!是不是经常遇到这些痛点:

  • 😫 背单词太枯燥,背了就忘

  • 🎧 听力练不动,没有真人发音

  • 📅 复习没规律,艾宾浩斯太难坚持

  • ✍️ 只会看不会写,听写能力为零

别担心!今天这款 APP 一次性解决所有问题!✨ 我们用 Flutter for OpenHarmony 打造一款集滑动卡片背单词、真人发音听力、艾宾浩斯智能复习、听力听写训练于一体的全能外语学习神器!让背单词像刷抖音一样上瘾~🎮


🎯 核心功能

功能模块 能力描述 体验亮点 ✨
🃏 滑动卡片背单词 左右滑动切换单词,认识右滑,不认识左滑 像刷交友软件一样背单词,停不下来!
🔊 真人发音听力 TTS 实时朗读,支持英美音切换 地道发音,磨耳朵神器
🧠 艾宾浩斯复习 智能算法安排复习时间,科学记忆 再也不用手动算复习日期了
📝 听力听写训练 听发音写单词,强化拼写能力 听说读写全面提升

💡 第三方库选择理由

这次我们精选了 4 个专为 OpenHarmony 优化的宝藏库,每个都有独门绝技!

1. audioplayers_ohos 🎵

鸿蒙适配优势

  • ✅ 原生支持 OpenHarmony 音频框架

  • ✅ 低延迟播放,无卡顿

  • ✅ 支持后台播放,锁屏也能听

  • ✅ 音量控制、进度监听一应俱全

2. flutter_tts_ohos 🗣️

鸿蒙适配优势

  • ✅ 对接鸿蒙系统 TTS 引擎,发音超自然

  • ✅ 支持多语言、多音色切换

  • ✅ 语速音调自由调节

  • ✅ 离线也能正常使用!

3. flutter_swipe_card 🃏

鸿蒙适配优势

  • ✅ 60fps 流畅滑动动画

  • ✅ 完美适配鸿蒙手势系统

  • ✅ 左右滑回调精准

  • ✅ 自定义卡片样式超灵活

4. shared_preferences 💾

鸿蒙适配优势

  • ✅ 基于鸿蒙 Preferences 实现

  • ✅ 数据持久化安全可靠

  • ✅ 读写速度飞快

  • ✅ 无需额外权限配置


📦 环境配置

pubspec.yaml 依赖配置

yaml 复制代码
dependencies:
  flutter:
    sdk: flutter
  audioplayers_ohos: ^1.0.0      # 音频播放
  flutter_tts_ohos: ^1.0.0       # TTS发音
  flutter_swipe_card: ^0.1.0     # 滑动卡片
  shared_preferences: ^2.2.0     # 数据存储

OpenHarmony 权限配置(module.json5)

json 复制代码
"requestPermissions": [
  {
    "name": "ohos.permission.MICROPHONE",
    "reason": "用于听力训练音频录制"
  },
  {
    "name": "ohos.permission.INTERNET",
    "reason": "获取在线单词数据"
  }
]

🧩 分模块详解

1. 数据模型层 📊

先定义单词数据结构,干净利落!

dart 复制代码
class Word {
  final String id;
  final String word;
  final String phonetic;
  final String meaning;
  final String audioUrl;
  final int reviewLevel;
  final DateTime nextReviewTime;
  
  Word({required this.id, required this.word, 
    required this.phonetic, required this.meaning,
    required this.audioUrl, this.reviewLevel = 0, 
    DateTime? nextReviewTime})
    : nextReviewTime = nextReviewTime ?? DateTime.now();
}

2. 滑动卡片组件 🃏

核心交互来了!左右滑动背单词

dart 复制代码
SwipeCard(
  cards: words.map((word) => WordCard(word: word)).toList(),
  onSwipeLeft: (index) => markAsUnknown(words[index]),
  onSwipeRight: (index) => markAsKnown(words[index]),
  cardWidth: 320, cardHeight: 400,
  swipeThreshold: 0.3,
)

3. 音频播放模块 🔊

播放单词发音,超简单!

dart 复制代码
final player = AudioPlayer();
Future playWordAudio(String url) async {
  await player.setSourceUrl(url);
  await player.setVolume(1.0);
  await player.resume();
}
// 播放完成回调
player.onPlayerComplete.listen((_) => debugPrint('播放完成!'));

4. TTS 发音模块 🗣️

实时朗读,想读就读!

dart 复制代码
final FlutterTts tts = FlutterTts();
Future speakWord(String word) async {
  await tts.setLanguage('en-US');
  await tts.setSpeechRate(0.5);
  await tts.setPitch(1.0);
  await tts.speak(word);
}
// 支持英美音切换哦~

5. 听力听写训练 📝

听发音写单词,强化记忆!

dart 复制代码
TextField(
  controller: _inputController,
  decoration: InputDecoration(hintText: '请输入听到的单词'),
  onSubmitted: (input) {
    if (input.toLowerCase() == currentWord.word.toLowerCase()) {
      showCorrectAnimation();
    } else {
      showWrongHint();
    }
  }
)

6. 艾宾浩斯复习算法 🧠

智能安排复习,科学记忆!

dart 复制代码
List<int> intervals = [1, 2, 4, 7, 15, 30]; // 间隔天数
DateTime calculateNextReview(int level) {
  int days = intervals[level.clamp(0, intervals.length-1)];
  return DateTime.now().add(Duration(days: days));
}
// 认识就升级,不认识就降级重学

7. 数据统计模块 📈

学习数据可视化,成就感满满!

dart 复制代码
Future saveStudyRecord(bool isCorrect) async {
  final prefs = await SharedPreferences.getInstance();
  int total = prefs.getInt('total_words') ?? 0;
  int correct = prefs.getInt('correct_words') ?? 0;
  await prefs.setInt('total_words', total + 1);
  await prefs.setInt('correct_words', correct + (isCorrect ? 1 : 0));
}

🏆 完整实现总结

📁 项目结构

Plain 复制代码
lib/
├── models/          # 数据模型
├── widgets/         # UI组件(卡片、播放器)
├── services/        # 业务服务(音频、TTS、存储)
├── screens/         # 页面(首页、听力、统计)
├── utils/           # 工具类(艾宾浩斯算法)
└── main.dart        # 入口

✨ 核心亮点

  1. 交互创新 🃏:滑动卡片背单词,学习娱乐化

  2. 听觉强化 👂:双音频系统(真人音频 + TTS)

  3. 科学记忆 🧠:艾宾浩斯算法自动安排复习

  4. 全面训练 ✍️:听说读写四维一体

  5. 鸿蒙原生 💙:深度适配 OpenHarmony 系统特性

🎮 运行效果

  • 单词卡片丝滑滑动,60fps 不掉帧

  • TTS 发音清晰自然,英美音自由切换

  • 复习提醒智能推送,不漏掉任何单词

  • 学习数据实时统计,进步看得见


🎉 写在最后

怎么样?这款 APP 是不是功能满满又好玩!😎 整个项目完全基于 Flutter for OpenHarmony 开发,所有库都完美适配鸿蒙系统,运行流畅得飞起~

相关推荐
前端不太难1 小时前
AI Native 鸿蒙 App 的四层架构
人工智能·架构·harmonyos
云和数据.ChenGuang1 小时前
HarmonyOS 手机模拟器开发「随身猜谜语小游戏」的技术实现方案
华为·智能手机·harmonyos
KKei16381 小时前
Flutter for OpenHarmony学习小组组队与打卡APP技术文章
学习·flutter·华为·harmonyos
tangweiguo030519871 小时前
Flutter 集成排查与 APK 瘦身问题解决
flutter
fuquxiaoguang1 小时前
华为灵犀指令集:统一CPU/GPU/AI算力底座的野心与挑战
人工智能·华为·灵犀指令集
KKei16381 小时前
Flutter for OpenHarmony学术论文管理APP技术文章
flutter·华为·harmonyos
leon_teacher11 小时前
HarmonyOS 6 ArkUI 实战:用 Tabs 与 Shape Path 手写凹槽凸起底部导航栏
华为·harmonyos
梦想不只是梦与想11 小时前
鸿蒙与 H5 通信使用的方法及原理
harmonyos·鸿蒙·webview
坚果派·白晓明14 小时前
【鸿蒙PC三方库移植适配框架解读系列】第一篇:Lycium C/C++ 三方库适配 — 概述与环境配置
c语言·开发语言·c++·harmonyos·开源鸿蒙·三方库·c/c++三方库