[英]Implement camera lib with Kotlin multiplatform
我試圖了解什么結構應該有一個多平台庫。 在網上查了很多例子,解釋如何制作日志或“hello world”,但缺乏復雜的例子,即使在官方文檔中(重要的是要注意我只對移動設備感興趣)平台,iOS 和 Android)。
所以我想創建一個簡單地打開相機的示例(作為一個庫,而不是作為一個多平台應用程序),只是為了了解如何使用一個真實的功能,這也是本機的。 現在我按照官方示例創建了一個項目,所以它有一個通用模塊(使用期望)和一個用於 Android 和一個用於 iOS(使用實際),現在這些是我的疑問:
據我所知,我已經看到 iOS 模塊也在 Kotlin,Kotlin/Native 中。 我的項目是否應該在 Swift 中也有一個包裝器,還是該庫沒有 Swift 代碼? 如果應該,它應該在項目結構中的什么位置?
同樣在 Android 模塊中,我注意到我無法導入 class “活動”或“意圖”,我需要打開相機,為什么? 此代碼是否僅限於 Java 沒有 Android 庫? 它還應該有 Android 的包裝器嗎? 如果是這樣,我該如何配置這個包裝器?
我知道在創建類時可以使用“expect”鍵,但據我了解,通用模塊和本機模塊將始終是分開的類。 我的意思是,如果我在 common 模塊中創建一個 class ,我可以使用“expect”定義這個 class 的方法並稍后在本機中定義它們嗎?
我的庫可以有清單嗎?
最后,有沒有人知道一個真正解釋更復雜情況的真實例子?
謝謝
好的,我們來一一解答您的問題。
jvm("android")
目標而不是android()
的結果。 要使用 android 目標,除了 kotlin-multiplatform 之一之外,還必須應用 android Gradle 插件。common
和擴展 function 使用expect
修飾符。 然后在特定於平台的代碼中實現它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.