Pokemondo
一个 Flutter 项目,用于更多地了解宝可梦的世界,也可以作为其他 Flutter 项目的良好实践参考。
运行项目说明
- 下载或克隆存储库
- 安装最新版本的 Flutter
- 打开您的终端
- 使用终端切换到项目根文件夹
- 运行:
flutter pub get - 确保您的手机已连接到您的笔记本电脑/PC 或您的模拟器已启动。
- 运行:
flutter run - 测试可在项目根目录的 test 文件夹中找到
框架
- Flutter 版本 3+
使用的架构
- Clean Architecture (干净架构)
使用的库
- mockito: 用于模拟不同应用程序架构层所需的依赖项。
- build_runner: 用于自动生成 Mockito Mocked Classes
- flutter_bloc: 用于演示层的状态管理。
- bloc_concurrency: 作为 *flutter_bloc 的支持,允许进程事件并发执行
- dartz: 用于函数式编程。例如,它强制您处理函数调用的所有可能响应。
- equatable: 用于类的值相等性
- get_it: 服务定位器,用于轻松将依赖项注入到类中。
- flex_color_scheme: 用于应用主题,帮助我添加对(浅色和深色主题)的支持。
- google_fonts: 帮助我将 Noto Sans 字体系列添加到应用程序,如 Figma 设计所示。
- flutter_localizations: 为应用添加其他语言支持。
- intl: 帮助我为应用添加自定义的本地化消息以支持(英语和法语)。
- flutter_native_splash: 添加原生平台启动屏支持,以反映 Figma 设计文件中的启动屏。
- internet_connection_checker: 用作应用核心 NetworkInfo 抽象类的实现,用于检查设备是否具有互联网连接。
- shared_preferences: 用于在本地保存用户偏好的(主题、语言)。也用于缓存一些先前加载的宝可梦数据。
- palette_generator: 用于 imageColors 函数,以动态识别宝可梦精灵图像的颜色。然后将其用于宝可梦 UI 卡片。
- cached_network_image: 用于向用户显示网络图像。它经过优化,可以缓存已加载的图像,并在没有互联网访问时显示它们,并且在图像已经被缓存后加载速度更快,从而减少了在有互联网访问时对服务器不必要的图像请求。

