2026/4/1 23:24:36
网站建设
项目流程
提供网站建设工具的品牌,昵图网 图库 素材,空间网,哈尔滨网站优化公司Android#xff08;Kotlin#xff09; ↔ Flutter#xff08;Dart#xff09; 的“1:1 对应表”#xff0c;按你熟悉的架构分层来对照#xff08;MVVM/MVI 都适用#xff09;。Android ↔ Flutter 对应表架构位置Android 常用方案Flutter 对应方案一句话理解网络客户端R…AndroidKotlin ↔ FlutterDart的“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“数据真相”统一出口同名同职责本地数据库RoomDriftSQLiteORM 类型安全查询DAODao 接口Drift DAODriftAccessor查询/插入/更新Entity表结构EntityDrift Tableextends Table数据库存储结构数据流监听Flow / LiveDataStreamwatchDB 变更自动推给 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 InterceptorRoom Flow →Drift watch(Stream)Repository 负责缓存策略 →Repository 仍然负责401 自动刷新 token →Interceptor 共享 Future/队列