用途:介绍 Kotlin Multiplatform(KMP)中的 expect/actual 声明机制,用于在保持共享 API 表面的同时编写平台特定实现。
主要能力:资料给出多类常见模式示例,包括平台信息(名称、版本、是否调试)、文件系统路径(文档、缓存、临时目录)、日期时间格式化与解析、数据库路径、安全存储(Android 用 EncryptedSharedPreferences,iOS 用 Keychain)、网络连接监控(Android 用 ConnectivityManager,iOS 用 NWPathMonitor)以及日志(Android Log,iOS os_log)。
使用方式:在 commonMain 中用 expect 声明类或函数,在 androidMain、iosMain、desktopMain 等源集中用 actual 提供实现。资料建议用工厂函数处理依赖,按功能分组,尽量提供默认实现;不要在 expect 声明中写复杂逻辑,纯 Kotlin 逻辑应放在 commonMain,避免创建过多细小的 expect 类。文件组织按 commonMain、androidMain、iosMain、desktopMain 分目录。测试可在 commonTest 中编写,并在各平台用 actual 实现运行。
适用场景:需要调用平台特定 API 的 KMP 项目,如平台信息、文件与数据库路径、安全存储、网络状态和日志。
限制:资料未提供安装命令、版本要求、收费或价格信息;示例代码中的部分 API(如 KotlinLifecycleController、KeychainHelper)未给出完整实现,需自行补充。仅在确实需要平台特定 API 时使用 expect/actual。