我有一些代码是用Java和Kotlin编写的; Java部分可以使用AndroidStudio翻译成Kotlin。这意味着,独立于任何硬件或平台细节;某些Android特定类(如"Bitmap")可以替换为抽象类或一般自定义类。
众所周知,Kotlin业务代码可以用于Android和iOS的多平台应用程序。Xamarin也用于多平台应用程序。
另一方面,有一种方法可以在Xamarin项目中包含Kotlin代码。为此,使用Xamarin.Kotlin.StdLib:是的。
我的问题:有没有可能开发一个Xamarin项目(可能使用Xamarin Forms),其中包括Kotlin业务代码,并将在Android和iOS环境中工作?
2条答案
按热度按时间cfh9epnr1#
以下是一些说明。
1.Android Studio
多平台共享模块"。
https://kotlinlang.org/docs/multiplatform-mobile-integrate-in-existing-app.html直到"在Android上运行跨平台应用程序"。
1.代码:
The following instructions are similar to that in https://kotlinlang.org/docs/multiplatform-mobile-integrate-in-existing-app.html#make-your-cross-platform-application-work-on-ios . The difference is that we don't want to build the app now, but a framework.
1.目标Sharpie
型号:
/sharpieOutput--名称空间=共享--sdk iphoseos15.5-作用域。/共享。/共享的/构建/xcode-框架/调试/iPhone模拟器15.5/共享的框架/头文件/共享的. h
(请将"iphoneos15.5"替换为正确的SDK,将"Debug/iphonesimulator15.5"替换为正确的文件夹名称)您也可以选择另一个命名空间来代替"Shared"。它将在ApiDefinitions.h中指定。
1.视觉工作室/Xamarin
使用Visual Studio 2019或2022或更高版本。
"MyApp"项目包含所有与平台无关的代码。那些包含与平台相关的部分的类应定义为接口。
"MyApp. Android"和"MyApp. iOS"应该实现这些接口。对于"MyApp. iOS","MyApp"和"MyApp. iOS. Binding"应该作为引用添加。实现这些接口的类现在可以使用ApiDefinitions.h中定义的接口。
说明结束。
qni6mghb2#
我已经在另一个论坛-https://learn.microsoft.com/en-us/answers/questions/875957/use-business-code-for-android-and-ios-written-in-k.html-发布了同样的问题,我已经发布了一个可能的答案,请参见2022年7月19日的答案。是的,这是可能的,但不是直接的,而且是复杂的。