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/队列

相关推荐
一只大侠的侠14 小时前
Flutter开源鸿蒙跨平台训练营 Day 10特惠推荐数据的获取与渲染
flutter·开源·harmonyos
工程师老罗16 小时前
如何在Android工程中配置NDK版本
android
renke336417 小时前
Flutter for OpenHarmony:色彩捕手——基于HSL色轮与感知色差的交互式色觉训练系统
flutter
Libraeking19 小时前
破壁行动:在旧项目中丝滑嵌入 Compose(混合开发实战)
android·经验分享·android jetpack
子春一19 小时前
Flutter for OpenHarmony:构建一个 Flutter 四色猜谜游戏,深入解析密码逻辑、反馈算法与经典益智游戏重构
算法·flutter·游戏
市场部需要一个软件开发岗位19 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
铅笔侠_小龙虾20 小时前
Flutter 实战: 计算器
开发语言·javascript·flutter
JMchen12321 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
微祎_21 小时前
Flutter for OpenHarmony:构建一个 Flutter 重力弹球游戏,2D 物理引擎、手势交互与关卡设计的工程实现
flutter·游戏·交互
crmscs1 天前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑