Kotlin-Multiplatform(Android,iOS,JS和JVM桌面应用程序)
此示例显示了如何创建一个简单的Android/ios/jvm/js项目共享一些Kotlin代码。该应用程序保存在本地数据库上,您的收藏夹位置,并从OpenWeatherMap获取它们的当前天气。
在此应用程序中,我们共享两个平台(Android/ios)的通用代码,以从API(在本例中为OpenWeathMap)获取数据。我们使用的库是:
- KTOR:提出HTTP请求
- 序列化:DE/序列化JSON
- sqldelight:Android和iOS之间共享的本地数据库
测试:
- Mockk:Kotlin的模拟图书馆
Android App -Master Branch
使用此应用程序,您可以使用KTOR获得位置的天气:
并添加并保存在SQLDELIGHT数据库中您喜欢的位置:
iOS应用
打开XCode并选择该项目:
JVM-桌面应用
要执行此版本为桌面应用程序,您必须在控制台上执行此代码:
./gradlew JavaFxApp:run
默认情况下,JDBC SQLITE是在内存中创建的。如果要将数据库持续到磁盘中,则必须指示创建数据库驱动程序时的路径:
SQLDriver.kt
JdbcSqliteDriver(\"jdbc:sqlite:$your_database_path\")
JS应用程序
如果要启动网络以获取天气,可以尝试执行下一个命令:
./gradlew JsApp:run
./gradlew BackEnd:run
--> localhost:8080
启动浏览器时,当前的天气未显示?如果您遇到此问题(找不到模块:错误:无法解析\’core-js/features/object/nistion\’)尝试重新安装节点模块core-js:
npm install core-js
我遵循了这些例子:
https://*kotl*i*nlang.org/docs/tutorials/native/mpp-ios-android.html
https://www.ra***ywenderlich.com/1022411-kotlin-multiplatform-project-ford-for-android-and-ios-getting started
https://pr*oa*ndr*oiddev.com/kotlin-multiplatform-very-beginners-guide-part-3-database-e34c92daf41c
