仅支持 Android持续开发中

MinimalistWeather

一款 Kotlin-first、Compose-first 的现代 Android 开源天气应用。

采用多模块 Clean Architecture,支持动态天气场景、全球城市搜索、空气质量、24 小时与 7 日预报,数据来自 Open-Meteo。

KotlinJetpack ComposeClean ArchitectureOpen-Meteo
Stars
2.4k
Forks
559
Commits
144
License
Apache-2.0
MinimalistWeather 墨尔本天气首页,展示当前温度、24 小时预报和未来 7 日预报MinimalistWeather 天气详情页,展示空气质量和体感温度等指标

产品体验

从当前天气、逐小时变化到未来 7 天预报,常用信息清晰呈现。

从动态天气场景到全球城市搜索,再到空气质量、24 小时与 7 日预报,MinimalistWeather 还覆盖当前位置、城市管理、本地缓存与自动刷新,把常用能力组织成一套完整的现代 Android 天气体验。

当前天气与生活指数

查看当前天气、体感温度、今日摘要,以及与日常出行相关的生活指数。

24 小时与 7 日预报

在一条连续信息流中查看当天变化与未来一周趋势。

动态天气场景

为不同天气状态提供动态场景表现,让天气变化更直观。

全球城市与当前位置

结合内置热门城市与 Open-Meteo 在线搜索,管理当前位置、最近访问和已添加城市。

空气质量与天气细节

集中呈现 AQI、主要污染物、湿度、风速、气压、能见度和紫外线。

自动刷新与本地缓存

通过前台生命周期和 WorkManager 更新天气,并使用 DataStore 保存城市、设置和缓存。

界面展示

六个界面,覆盖从查看到管理。

深色天气视图承载高密度数据,浅色管理视图让搜索、城市和设置保持清晰。

MinimalistWeather 墨尔本天气首页,展示当前温度、24 小时预报和未来 7 日预报

01

天气总览

当前天气、24 小时趋势和 7 日预报集中在一条清晰的信息流中。

MinimalistWeather 天气详情页,展示空气质量和体感温度等指标

02

空气质量与细节

把空气质量、湿度、风速、气压和紫外线等指标放在同一视图。

MinimalistWeather 城市管理页,展示定位城市和已添加城市

03

多城市管理

快速查看、添加和管理定位城市与关注城市。

MinimalistWeather 城市搜索页,展示搜索历史和全球热门城市

04

城市搜索

结合搜索历史和热门城市,让常用地点更容易抵达。

MinimalistWeather 全球热门城市页,按地区展示城市卡片

05

全球热门城市

按地区浏览全球城市,并以真实城市图像增强识别。

MinimalistWeather 设置页,展示主题、单位、通知和自动刷新选项

06

个性化设置

支持主题、温度与风速单位、通知和自动刷新等偏好。

现代 Android 工程实践

一款天气 App,也是一套现代 Android 技术实践。

项目已经从早期示例迁移为多模块 Clean Architecture。界面采用 Jetpack Compose, domain 保持纯 Kotlin/JVM,天气、城市搜索和空气质量数据均来自 Open-Meteo。

KotlinJetpack ComposeClean ArchitectureOpen-Meteo

项目展示内容

  • Kotlin 2.3.21、JDK 17、Gradle 9.4.1 与 AGP 9.2.0
  • Jetpack Compose、Material 3、单 Activity 与 edge-to-edge
  • 多模块 Clean Architecture、UDF、ViewModel 与不可变 StateFlow
  • Kotlin Coroutines、Flow、Hilt 与 Dagger 构造注入
  • OkHttp 与 Kotlinx Serialization 对接 Open-Meteo
  • DataStore、WorkManager、Baseline Profile 与 Macrobenchmark

支持平台

Android 6.0+

工程结构

5 个模块

天气数据

Open-Meteo

使用门槛

无需 API key

阅读、学习或参与

在 GitHub 查看完整源码与项目结构。

打开 GitHub