Android(Kotlin) ↔ Flutter(Dart) 的“1:1 对应表”:架构分层来对照(MVVM/MVI 都适用)
2026/7/8 16:50:52 网站建设 项目流程

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

Android ↔ Flutter 对应表

架构位置Android 常用方案Flutter 对应方案一句话理解
网络客户端RetrofitDio都是 HTTP Client 封装
底层网络引擎OkHttpDio 内部实现 / http 包“真正发请求”的那层
拦截器OkHttp Interceptor / Retrofit CallAdapterDio Interceptor请求/响应/错误统一入口(401 刷新 token 就在这)
JSON 解析Moshi / Gson / Kotlinx Serializationjson_serializable / freezed / manual mapDTO ↔ Model 转换
DTO(网络实体)data class XxxDtoclass XxxDto + fromJson/toJson网络返回结构
RepositoryRepositoryRepository“数据真相”统一出口(同名同职责)
本地数据库RoomDrift(SQLite)ORM + 类型安全查询
DAO@Dao 接口Drift DAO(@DriftAccessor)查询/插入/更新
Entity(表结构)@EntityDrift Table(extends Table)数据库存储结构
数据流监听Flow / LiveDataStream(watch)DB 变更自动推给 UI
协程/异步suspend + coroutinesasync/await + Future都是异步语法糖
并发组合async/await + awaitAllFuture.wait / Future.any并行请求合并
错误包装Result / sealed classEither/Result(自定义)统一错误模型
本地缓存DataStore / SharedPrefsSharedPreferences / Hive / 内存 Map小数据/配置
图片缓存Coil / Glidecached_network_image头像/图片缓存
线程切换Dispatchers.IO/Mainevent loop + plugin/isolateDart 表面单线程,IO 由底层处理
ViewModelAndroidX ViewModelRiverpod Notifier / Bloc / ChangeNotifier状态容器
UI 订阅collectAsState/LiveData observeConsumer/BlocBuilder/StreamBuilder“订阅状态刷新 UI”
单元测试JUnit + MockKtest + mocktail/mockito测试工具链
网络 MockMockWebServerdio_http_mock_adapter / 自建 fake api模拟接口

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

  • Retrofit + OkHttp Interceptor →Dio + Interceptor

  • Room + Flow →Drift + watch(Stream)

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询