java代码可以调用kotlin吗

java代码可以调用kotlin吗,第1张

新建一个Android项目

修改Gradle代码来添加Kotlin Gradle插件与标准库。

在IntelliJ或Android Studio中添加Kotlin插件。

将Kotlin类文件转换成java。

原本java的项目引入Kotlin作为开发语言,在模块还没引用kotlin之前是采用databinding和ARouter进行ui绑定和模块界面跳转的,但是引入Kotlin后出现问题1:databinding冲突;问题2:ARouter提示跳转路径找不到;问题3:Android Architecture Components提示找不到ViewModelProviders

在自己的模块的gradle文件进行配置,我是在module_main模块中引入Kotlin进行开发的,所以我需要在app(module_main)build.gradle文件中添加一下配置信息有

这个仅使用与你项目本来是可以用ARouter来进行跳转的,在跳转到Kotlin的Activity时候提示找不到路径的场景。

这里需要弄清楚kapt与annotationProcessor区别可以查看 KAPT(Annotation Processing for Kotlin)是什么

google新推出MVVM+Android Architecture Components,优势在于不用管理Activity与Fragment的生命周期,当数据更新时候会自动通知到ui上,当然它这个实现还是基于观察者模式的,订阅-发布过程。作为一名优(懒)秀(惰)程序员当然要引入自己项目中啦。

问题来了,javaUI跳转到Kotlin写的UI上App闪退,项目报错信息: Failed resolution of: Landroid/arch/lifecycle/ViewModelProviders ,google了很多方法之后都没用,突然想到ARouter的解决方法,有点共同性,灵机一动,我就把上面的annotationProcessor替换成了kapt,然后项目就成功运行了。真是机(傻)智(逼)如(shi)我(wo)。其实核心问题就是没弄懂annotationProcessor的作用。想学习如何使用Android Architecture Components的童鞋可以去github的官方demo学习,链接如下 android-lifecycles

希望能帮到大家增加对android的热爱,fighting……


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11766572.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存