Flutter for OpenHarmony 外语单词背诵与听力训练APP
哈喽各位鸿蒙开发者们!👋 今天带大家搞一个超实用的外语学习 APP!是不是经常遇到这些痛点:😫 背单词太枯燥,背了就忘🎧 听力练不动,没有真人发音📅 复习没规律,艾宾浩斯太难坚持✍️ 只会看不会写,听写能力为零别担心!今天这款 APP 一次性解决所有问题!✨ 我们用 Flutter for OpenHarmony 打造一款集滑动卡片背单词、真人发音听力、艾宾浩斯智能复习、听力听写训练于一体
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 依赖配置
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)
"requestPermissions": [
{
"name": "ohos.permission.MICROPHONE",
"reason": "用于听力训练音频录制"
},
{
"name": "ohos.permission.INTERNET",
"reason": "获取在线单词数据"
}
]
🧩 分模块详解
1. 数据模型层 📊
先定义单词数据结构,干净利落!
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. 滑动卡片组件 🃏
核心交互来了!左右滑动背单词
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. 音频播放模块 🔊
播放单词发音,超简单!
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 发音模块 🗣️
实时朗读,想读就读!
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. 听力听写训练 📝
听发音写单词,强化记忆!
TextField(
controller: _inputController,
decoration: InputDecoration(hintText: '请输入听到的单词'),
onSubmitted: (input) {
if (input.toLowerCase() == currentWord.word.toLowerCase()) {
showCorrectAnimation();
} else {
showWrongHint();
}
}
)
6. 艾宾浩斯复习算法 🧠
智能安排复习,科学记忆!
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. 数据统计模块 📈
学习数据可视化,成就感满满!
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));
}

🏆 完整实现总结
📁 项目结构
lib/
├── models/ # 数据模型
├── widgets/ # UI组件(卡片、播放器)
├── services/ # 业务服务(音频、TTS、存储)
├── screens/ # 页面(首页、听力、统计)
├── utils/ # 工具类(艾宾浩斯算法)
└── main.dart # 入口
✨ 核心亮点
-
交互创新 🃏:滑动卡片背单词,学习娱乐化
-
听觉强化 👂:双音频系统(真人音频 + TTS)
-
科学记忆 🧠:艾宾浩斯算法自动安排复习
-
全面训练 ✍️:听说读写四维一体
-
鸿蒙原生 💙:深度适配 OpenHarmony 系统特性
🎮 运行效果
-
单词卡片丝滑滑动,60fps 不掉帧
-
TTS 发音清晰自然,英美音自由切换
-
复习提醒智能推送,不漏掉任何单词
-
学习数据实时统计,进步看得见
🎉 写在最后
怎么样?这款 APP 是不是功能满满又好玩!😎 整个项目完全基于 Flutter for OpenHarmony 开发,所有库都完美适配鸿蒙系统,运行流畅得飞起~
更多推荐


所有评论(0)