美文网首页
KMM-Kotlin跨平台应用初识

KMM-Kotlin跨平台应用初识

作者: 小千 | 来源:发表于2022-03-30 10:47 被阅读0次

由于业务需求和人力的现状,采用了Kotlin实现业务逻辑,iOS和Android分别实现UI绘制的开发方式。

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.png

2、KMM项目结构

KMM项目主要为三部分组成:

  • 共享模块
  • Android app
  • iOS app

项目结构如下所示:

screenshot-20220314-153802.png

3、共享代码+分平台代码

  • 共享代码放在 commonMain 的文件夹中,多平台可直接调用
screenshot-20220314-161302.png
  • 因平台差异,须分别实现的,则放在各自平台的文件夹中,如 iosMain,但是需要 expect-actual 配对实现,具体如下:
    • commonMain 实现接口申明:expect
package com.example.xqkmmdemo

expect class Platform() {
    val platform: String
}
  • iosMain或androidMain 进行接口实现:actual
package 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

相关文章

  • KMM-Kotlin跨平台应用初识

    由于业务需求和人力的现状,采用了Kotlin实现业务逻辑,iOS和Android分别实现UI绘制的开发方式。 1、...

  • 为什么要学习跨平台? Flutter 跨平台框架应用实战

    为什么要学习跨平台? Flutter 跨平台框架应用实战为什么要学习跨平台? Flutter 跨平台框架应用实战

  • 2018-09-06

    浅谈应用跨平台开发 名词解释 跨平台 什么是跨平台?——Techopedia A cross-platform c...

  • 初识跨平台APP

    相对于原生态APP开发,跨平台APP有着无比的优越性。原生态APP开发,学习难度高,开发周期长,后期维护麻烦。然...

  • 初识OpenGL(1)

    初识图形Api 1、简介 OpenGL (Open Graphics Library)是⼀个跨编程语⾔、跨平台的编...

  • 一 OpenGL专业名称解析

    初识图形API OpenGL(Open Graphics Library)是⼀个跨编程语⾔、跨平台的编程图形程序接...

  • 一(2)、OpenGL入门关键字

    1. 初识图形API OpenGL:(Open Graphics Library)是⼀个跨编程语⾔言、跨平台的编程...

  • 跨平台移动应用开发框架 2019-03-18

    标签(空格分隔): 移动应用 跨平台 混和开发 Flutter 移动应用跨平台开发框架,根据其原理,主要分为三类:...

  • Flutter完全进阶手册

    Flutter  一、你好,Flutter    原生开发与跨平台技术    初识Flutter    Flut...

  • OpenGL名词解释

    0. 初识图形API OpenGL(Open Graphics Library)是⼀个跨编程语⾔言、跨平台的编程图...

网友评论

      本文标题:KMM-Kotlin跨平台应用初识

      本文链接:https://www.haomeiwen.com/subject/mrmjdrtx.html