今日天气:一款使用 mobX 和 MetaWeather API 构建的天气应用程序
这是我用 Flutter 构建的第一个项目,我受到了 Flutter Modular 架构的启发来组织文件夹。
该项目使用 MetaWeather API 来获取城市列表及其各自的天气数据,例如最低和最高温度、天气状况、日期、风速和风向。
安装项目
您可以通过下载此存储库中的 apk 文件 weather-today.apk 在您的 Android 手机上安装此应用程序。
应用概览
该应用程序非常简单,它是一个单页应用程序,带有一个搜索栏,主要有三种状态:用户未搜索任何内容时的第一个屏幕,显示从 API 获取的用户数据的主屏幕,以及在发生错误时的错误屏幕。
应用结构
此应用程序是 Udemy 上 Andrea Bizzotto 的 Dart 完全课程中构建的终端应用程序的扩展,但当我将其转换为 Flutter 应用程序时,我感受到了项目架构的必要性。因此,我选择基于 Flutter Modular 架构来构建我的项目,因为我觉得它易于理解且可扩展。
项目文件夹结构如下:
/lib
/models
/modules
/search
/repositories
/results
/theme
在 models 文件夹中,您可以找到为最佳表示 API 数据而创建的类。
Modules 是应用程序内的页面,由于它是一个单页应用程序,我们只有一个搜索模块。其中我们有 repository,负责从 API 获取数据。
此项目使用的包
鸣谢
此项目受到了 Andrea Bizzotto 在 Dart 完全课程中构建的应用程序的启发。
我必须感谢 Flutter Girls 的女孩们,她们在我遇到的所有问题中都给予我支持和帮助,你们是最棒的!
