配置用于存储的 SQLDelight https://www.wenjiangs.com/doc/dn80pp0z Kotlin Multiplatform libraries https://libs.kmp.icerock.dev/ KMM-Kotlin跨平台应用初识1、构建环境+创建首个跨平台KMM项目 可参考Kotlin官方指导创建和体验首个跨平台项目。安装好 Android studio后,先下载插件:Preferences - Plugins - Marketplace - 搜索 Kotlin Multiplatform Mobile 并安装。 screenshot-20220314-160641.png新建项目,选择KMM app screenshot-20220314-160359.png构建成功后,选择iosApp进行编译和运行 screenshot-20220314-142249.png可以构建不同模拟器进行编译 截屏2022-03-14 下午2.23.33.png screenshot-20220314-142404.png2、KMM项目结构 KMM项目主要为三部分组成:共享模块Android appiOS app 项目结构如下所示: screenshot-20220314-153802.png3、共享代码+分平台代码共享代码放在 commonMain 的文件夹中,多平台可直接调用 screenshot-20220314-161302.png因平台差异,须分别实现的,则放在各自平台的文件夹中,如 iosMain,但是需要 expect-actual 配对实现,具体如下: commonMain 实现接口申明:expectpackage com.example.xqkmmdemo expect class Platform() { val platform: String }iosMain或androidMain 进行接口实现:actualpackage com.example.xqkmmdemo import platform.UIKit.UIDevice actual class Platform actual constructor() { actual val platform: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion }4、Kotlin和客户端交互4.1、 Kotlin 直接调用原生系统方法package com.example.xqkmmdemo // 引入原生库 import platform.UIKit.UIDevice actual class Platform actual constructor() { // 调用原生系统方法 actual val platform: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion }4.2、 客户端调用Kotlin方法 查看KMM项目中自动创建的iosApp项目,即可发现客户端是如何调用kotlin的方法。 screenshot-20220315-113558.png