KanPractice
一个简单的应用程序,用于学习您在日本学习旅程中将通过带有含义、发音和汉字的卡片来学习的日语词汇。
构建您自己的单词或句子列表,并随时随地学习。
制作您自己的 KanPractice
如果您想在设备上使用自定义后端来复制此应用程序,请 fork 该仓库并包含您自己的 iOS 或 Android 的 Google Services 文件。确保您的后端与代码中描述的模型匹配,但您也可以更改它们以匹配您的!
如果您希望分发基于此应用程序的新应用程序,请记住更改 iOS 上的 Bundle ID 和 Android 上的 Package,并确保在新创建的应用程序中承认这项工作!
- 对于 iOS:请确保您创建自己的 Apple 设备预配配置文件和证书,并将其导出到 XCode。
- 对于 Android:使用
keytool创建用于签名的jks文件,并在android/下创建key.properties文件,如同 官方文档 所述。
贡献代码结构
代码基于 2 个主要文件夹:ui 和 core,含义不言自明。在 main.dart 中,您会找到运行应用程序及其所有配置的主 Widget。
添加语言
语言管理系统由位于 lib/core/localization/ 下的 JSON 文件处理。目前支持西班牙语和英语。
需要贡献来添加更多语言。
如果您希望通过添加新语言来贡献,您必须执行以下操作:
- 复制并粘贴已添加的语言 JSON 文件,并以
<language_code>.json的名称创建新语言文件。 - 然后,在
lib/main.dart的EasyLocalization小部件下,将语言添加到支持的区域设置中。 - 您已完成。如果您想为 iOS 构建应用程序,则必须在
info.plist中CFBundleLocalizations键下包含本地化设置。
Core
细分为
database:与数据库管理相关的代码(数据库创建、查询、数据库模型和助手常量)。firebase:与 Firebase 和备份管理相关的代码(备份和服务、身份验证、查询和 Firebase 模型)。preferences:与 Shared Preferences 助手相关的代码,用于在设备中存储键值数据。routing:与管理应用程序页面路由相关的代码。utils:纯粹的功能性代码,在整个应用程序中使用。
请参考注释以更好地理解代码。
UI
细分为
pages:不同的页面按其各自的文件夹细分,每个文件夹都有自己的 bloc 管理(如果需要)。theme:纯 UI 代码,如颜色、主题、高度……widgets:具有功能性元素并跨应用程序重用的 UI 组件。