Clima ?️
Clima 是一款用户友好的天气应用程序,旨在以最简单的方式为您提供准确且最新的天气信息。通过 Clima,您可以轻松查看您所在位置今日及未来六天的当前温度,从而帮助您相应地规划您的活动。该应用还提供详细的每小时预报,为您提供全天候每三个小时的天气更新。Clima 的突出特点在于其极简和直观的设计,确保用户获得无忧无虑的体验。告别复杂的用户界面和压倒性的数据——Clima 专注于提供必要的天气信息,使其成为寻求简单可靠天气应用的用户的首选。
安装说明: ?
在开始之前,您需要从以下服务获取 API 密钥
-
Google Maps API 密钥
- 访问 Google Cloud Console。
- 创建一个新项目并启用 Google Maps API。
- 生成 API 密钥并根据需要限制其使用。
- 要将地图集成到您的项目中,请遵循 配置
-
OpenWeather API 密钥
- 前往 OpenWeather 网站。
- 注册一个免费账户并生成 API 密钥。
设置 API 密钥
- 将存储库克隆到您的本地计算机
git clone https://github.com/your-username/your-project.git
cd your-project
- 在项目目录中,创建一个名为
.env的新文件来存储您的 API 密钥
# .env file
GOOGLE_MAPS_API_KEY=your-google-maps-api-key
OPENWEATHER_API_KEY=your-openweather-api-key
- 将 .env 文件保存在 Flutter 项目目录的根目录中。
或者
做我做过的,创建一个包含密钥的 Dart 类,然后将其添加到 .gitignore 中,如下所示
class Api {
static const String key = "your-openweather-api-key";
static const String googleKey = "your-google-maps-api-key";
}
运行 Flutter 项目
现在您已经设置了 API 密钥,您可以在本地计算机上运行 Flutter 项目。请确保您已安装 Flutter。如果没有,您可以遵循官方 Flutter 安装指南。
- 安装项目依赖项
flutter pub get
- 运行 Flutter 项目
flutter run
这将启动 Flutter 应用,让您可以在项目中使用 Google Maps 和 OpenWeather 服务。
注意 确保将 .env 文件添加到您的 .gitignore 文件中,以保护您的 API 密钥不被公开到版本控制系统中。这确保了您的 API 密钥的安全性。
功能 ✨
-
当前天气:查看您当前位置的实时天气状况,包括温度、日期和天气描述。
-
6 天预报:通过 6 天天气预报规划您接下来的一周。了解即将到来的天气趋势,帮助您做出明智的决策。
-
每小时更新:访问详细的每小时预报,全天每 3 小时提供天气更新。为不断变化的天气状况做好准备。
-
Google Maps 集成:将 Google Maps 功能无缝集成到应用程序中。在交互式地图上可视化天气数据,允许用户探索不同的位置。
-
通知:接收每日天气通知,以随时了解重大天气变化。自定义特定天气条件或时间间隔的通知偏好。
-
用户友好的界面:体验设计的简洁性。Clima 具有直观而极简的界面,确保轻松导航和快速访问天气信息。
-
响应式设计:在各种设备和屏幕尺寸(包括智能手机和平板电脑)上享受一致的用户体验。
预览 ?
preview.mp4
技术 ?️
- 最低 SDK 版本 21
- 编译 SDK 版本 33
- 字体
- Manrope
- 架构
- Mvvm
- Dio
- 一个强大且易于使用的 Flutter 和 Dart HTTP 客户端。
- 权限处理器
- Flutter 插件,用于管理 Android 和 iOS 平台上的权限。
- Geolocator
- 一个 Flutter 地理位置插件,用于 Android 和 iOS,提供对 GPS 和网络等设备位置服务的便捷访问。
- Dartz
- 一个用于 Dart 和 Flutter 的函数式编程库,提供处理不可变数据、错误和函数式编程概念的工具。
- Flutter Bloc
- 一个可预测的状态管理库,有助于在 Flutter 应用程序中实现 BLoC 模式。
- Get It
- 一个用于 Dart 和 Flutter 项目的简单服务定位器,提供了一种在应用程序中管理和访问对象的便捷方式。
- Lottie
- 一个用于显示 Lottie 创建的动画的 Flutter 包,Lottie 是一个用于 Android、iOS 和 Web 的库,可解析 Adobe After Effects 动画。
- Iconsax
- 一套高质量且可自定义的 Flutter 项目图标,提供广泛的图标以增强应用的视觉吸引力。
- Flutter 本地通知
- 一个用于在 Android 和 iOS 设备上显示本地通知的 Flutter 插件。可用于在应用内安排和管理通知。
- Path Provider
- 一个 Dart 库,用于检索文件系统上常用的位置,例如临时目录和特定于应用程序的目录。
- Equatable
- 一个 Dart 包,可更方便地比较对象是否相等,增强了基于值的相等性检查的简便性。
- Flutter SVG
- 一个用于 Flutter 的 SVG 渲染和 Widget 库,可在 Flutter 应用程序中显示可缩放矢量图形文件。
- Connectivity Plus
- 一个用于监控网络连接的 Flutter 插件,提供有关设备网络状态和连接类型的信息。
- Google Maps Flutter
- 一个用于将 Google Maps 集成到 Flutter 应用程序中的 Flutter 插件,允许开发者显示带有标记、折线等的交互式地图。
贡献指南 ?
我们非常感谢您对 Clima 的贡献!在开始之前,请花点时间阅读我们的 贡献指南,其中包含有关如何贡献、行为准则和其他重要信息的详细信息。
感谢您为 Clima 做出贡献!?️
