Android(Kotlin) ↔ Flutter(Dart) 的“1:1 对应表”:架构分层来对照(MVVM/MVI 都适用)

Android(Kotlin) ↔ Flutter(Dart) 的"1:1 对应表",按你熟悉的架构分层来对照(MVVM/MVI 都适用)。

Android ↔ Flutter 对应表

架构位置 Android 常用方案 Flutter 对应方案 一句话理解
网络客户端 Retrofit Dio 都是 HTTP Client 封装
底层网络引擎 OkHttp Dio 内部实现 / http 包 "真正发请求"的那层
拦截器 OkHttp Interceptor / Retrofit CallAdapter Dio Interceptor 请求/响应/错误统一入口(401 刷新 token 就在这)
JSON 解析 Moshi / Gson / Kotlinx Serialization json_serializable / freezed / manual map DTO ↔ Model 转换
DTO(网络实体) data class XxxDto class XxxDto + fromJson/toJson 网络返回结构
Repository Repository Repository "数据真相"统一出口(同名同职责)
本地数据库 Room Drift(SQLite) ORM + 类型安全查询
DAO @Dao 接口 Drift DAO(@DriftAccessor) 查询/插入/更新
Entity(表结构) @Entity Drift Table(extends Table) 数据库存储结构
数据流监听 Flow / LiveData Stream(watch) DB 变更自动推给 UI
协程/异步 suspend + coroutines async/await + Future 都是异步语法糖
并发组合 async/await + awaitAll Future.wait / Future.any 并行请求合并
错误包装 Result / sealed class Either/Result(自定义) 统一错误模型
本地缓存 DataStore / SharedPrefs SharedPreferences / Hive / 内存 Map 小数据/配置
图片缓存 Coil / Glide cached_network_image 头像/图片缓存
线程切换 Dispatchers.IO/Main event loop + plugin/isolate Dart 表面单线程,IO 由底层处理
ViewModel AndroidX ViewModel Riverpod Notifier / Bloc / ChangeNotifier 状态容器
UI 订阅 collectAsState/LiveData observe Consumer/BlocBuilder/StreamBuilder "订阅状态刷新 UI"
单元测试 JUnit + MockK test + mocktail/mockito 测试工具链
网络 Mock MockWebServer dio_http_mock_adapter / 自建 fake api 模拟接口

现在这套(最像 Android 的写法)

  • Retrofit + OkHttp Interceptor → Dio + Interceptor

  • Room + Flow → Drift + watch(Stream)

  • Repository 负责缓存策略 → Repository 仍然负责

  • 401 自动刷新 token → Interceptor + 共享 Future/队列

相关推荐
天空之城--38 分钟前
Android Flutter行业动态与学习参考(2026年8月)
android·flutter
quantdash_cc1 小时前
基于 QuantDash 5 分钟 K 线的网格交易策略参数网格搜索寻优实战
android·开发语言·pandas·量化·quantdash
FungLeo2 小时前
Flutter Web 中文字体困境与渲染器选择:CanvasKit vs HTML renderer 实战
前端·flutter·html
Enaium2 小时前
我实现了KMP的SDL绑定并编写了高性能软光追
前端·kotlin
杉氧2 小时前
原生交互:如何在 Flutter 中嵌入 Android/iOS 原生组件并解决手势冲突
android·flutter·dart
Android打工仔3 小时前
Continuation 的链式关系 —— 一个 suspend 函数如何把结果交还给调用者?
android·kotlin
hunterandroid3 小时前
[Android 从零到一] Kotlin Channel 与复杂并发场景:从生产者-消费者到结构化并发治理
android
FlightYe4 小时前
linux系统编程(八):阻塞与非阻塞IO对比
android·linux·运维·服务器·github·vim
恋猫de小郭4 小时前
Flutter iOS Deep Link 为什么会突然失效:一系列难以言喻的问题
android·前端·flutter
qq_422828624 小时前
android 图形学之图层数据送显(八)
android