Kotlin Multiplatform入门
了解KMP架构,编写共享代码在Android和iOS等平台复用。 · 难度:入门 · +15XP
KMP概述
Kotlin Multiplatform允许你在不同平台间共享业务逻辑代码,使用expect和actual处理平台差异。
共享模块结构
// commonMain
class Greeting {
fun greet(): String = "Hello from Kotlin!"
}
// androidMain
expect fun platformName(): String
actual fun platformName(): String = "Android"
// iosMain
expect fun platformName(): String
actual fun platformName(): String = "iOS"
使用expect/actual
expect fun getUUID(): String
// Android actual
import java.util.UUID
actual fun getUUID(): String = UUID.randomUUID().toString()
// iOS actual
import platform.Foundation.NSUUID
actual fun getUUID(): String = NSUUID().UUIDString()
| 目录 | 用途 |
|---|---|
| commonMain | 共享代码 |
| androidMain | Android特定实现 |
| iosMain | iOS特定实现 |
练习提示
编写一个expect函数getCurrentTime(),返回当前时间字符串,并为Android和iOS提供actual实现。