KanPractice

一个简单的应用程序,用于学习您在日本学习旅程中将通过带有含义、发音和汉字的卡片来学习的日语词汇。

构建您自己的单词或句子列表,并随时随地学习。

制作您自己的 KanPractice

如果您想在设备上使用自定义后端来复制此应用程序,请 fork 该仓库并包含您自己的 iOS 或 Android 的 Google Services 文件。确保您的后端与代码中描述的模型匹配,但您也可以更改它们以匹配您的!

如果您希望分发基于此应用程序的新应用程序,请记住更改 iOS 上的 Bundle ID 和 Android 上的 Package,并确保在新创建的应用程序中承认这项工作!

  • 对于 iOS:请确保您创建自己的 Apple 设备预配配置文件和证书,并将其导出到 XCode。
  • 对于 Android:使用 keytool 创建用于签名的 jks 文件,并在 android/ 下创建 key.properties 文件,如同 官方文档 所述。

贡献代码结构

代码基于 2 个主要文件夹:uicore,含义不言自明。在 main.dart 中,您会找到运行应用程序及其所有配置的主 Widget

添加语言

语言管理系统由位于 lib/core/localization/ 下的 JSON 文件处理。目前支持西班牙语和英语。
需要贡献来添加更多语言。

如果您希望通过添加新语言来贡献,您必须执行以下操作:

  • 复制并粘贴已添加的语言 JSON 文件,并以 <language_code>.json 的名称创建新语言文件。
  • 然后,在 lib/main.dartEasyLocalization 小部件下,将语言添加到支持的区域设置中。
  • 您已完成。如果您想为 iOS 构建应用程序,则必须在 info.plistCFBundleLocalizations 键下包含本地化设置。

Core

细分为

  • database:与数据库管理相关的代码(数据库创建、查询、数据库模型和助手常量)。
  • firebase:与 Firebase 和备份管理相关的代码(备份和服务、身份验证、查询和 Firebase 模型)。
  • preferences:与 Shared Preferences 助手相关的代码,用于在设备中存储键值数据。
  • routing:与管理应用程序页面路由相关的代码。
  • utils:纯粹的功能性代码,在整个应用程序中使用。

请参考注释以更好地理解代码。

UI

细分为

  • pages:不同的页面按其各自的文件夹细分,每个文件夹都有自己的 bloc 管理(如果需要)。
  • theme:纯 UI 代码,如颜色、主题、高度……
  • widgets:具有功能性元素并跨应用程序重用的 UI 组件。

GitHub

查看 Github