从零开始Compose天气预报-Compose启动!

37 阅读1分钟

功能

  • 城市搜索(中文 / 拼音)与热门城市快速选择
  • 定位城市自动获取当地天气
  • 多城市管理
  • 实时天气、逐小时预报、多日预报

技术栈

分类
UIJetpack Compose + Material3
导航Navigation Compose(Type-Safe Routes)
依赖注入Hilt + KSP
本地存储Room + MMKV
网络Retrofit2 + OkHttp3 + Kotlinx Serialization
异步Kotlin Coroutines + Flow

环境要求

  • Android Studio Ladybug 及以上
  • Min SDK 24(Android 7.0)
  • Target SDK 36
  • JDK 11

项目结构

app/src/main/java/com/yd/weather/
├── app/            # AppState、ViewState、Hilt Module
├── component/      # 通用 Compose 组件
├── config/         # 常量、主题偏好设置
├── db/             # Room 数据库(CityData、SimpleWeatherData)
├── launch/         # 启动页
├── main/           # 主页
├── navigation/     # AppNavHost、导航事件、转场动画
├── net/            # Retrofit 网络层
├── res/            # 设计系统(Color、Icon、Theme、Type)
├── routes/         # 类型安全路由定义
├── selectcity/     # 城市选择页
├── utils/          # 工具类(Toast、Log、MMKV、定位)
└── weatherpreview/ # 天气预览页

效果图

ComposeGif0.gif

参考:

基于 Kotlin + Jetpack Compose 的 Android 完整电商开源项目分享为国内开发环境提供实用的 - 掘金

鸿蒙天气预报

Flutter天气预报

Compose天气预报

持续更新中。