android项目中,java调用kotlin代码
来源:互联网 发布:战舰世界爱大狗数据 编辑:程序博客网 时间:2024/06/06 09:26
写在之前
15年底,jetBrains推出了基于jvm的编程语言kotlin,并在官网上附出了怎样使用kotlin编写android的教程
http://kotlinlang.org/docs/tutorials/kotlin-android.html,16年初,发布了kotlin 1.0正式版,jetBrains称kotlin与java可以互相调用,无缝衔接,官方的教程上却只写了将android项目转换成kotlin代码,然后用kotlin去调用java的android教程,这是培养用户使用kotlin的习惯,也就是主要代码用kotlin,然后java有现成的库或者工具,直接用kotlin调,避免重复造轮子。kotlin号称android上的swift,代码精简,生产效率高,确实优势不小,然而,swift之余ios,kotlin之于android,还是有区别的,最明显的就是官方支持,也有一些人指出了kotlin的不足,http://artemzin.com/blog/why-i-dont-want-to-use-kotlin-for-android-development-yet/,而我看来,kotlin目前来说,基本没有公司采用,没有实际的项目,如果采用这个语言编写公司的软件,会不会出什么未知的坑,小坑还好,万一大坑呢,要知道,jetBrains没有提供kotlin转java的工具,也就是说,如果遇坑,就一坑到底了,想想都吓死。
不过,既然按照官方的说法,java可以调用kotlin,而且kotlin的开发指南里是有写的,那么android里面肯定也是能够主要使用java,然后调用kotlin的,有人会说,库基本都是java写的,调用kotlin没有什么实际意义,不过,既然是学习kotlin,学习一门新的知识,最好的方法就是使用它,我们可以使用kotlin写一些简单 工具类,来巩固一下语法。
开始使用
说了这么多废话,开始上代码,其实就是在gradle中加入kotlin的插件就好了.
首先是project 的gradle文件
buildscript { ext.kotlin_version = "1.0.1" //加上这个,至于为什么是1.0.1待会解释 repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0-alpha4'//这个不用管 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" //加上这个⬆️ }}
然后是module的gradle文件
apply plugin: 'com.android.application'apply plugin: 'kotlin-android' //加上插件...dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') ... compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" //加上库}
上面那个kotlin-version指向的是jcenter仓库http://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-compiler/最新的版本
Demo
代码是在android中运行的
kotlin代码
data class Student(val name:String,val sex:Char,val age:Int,val course:Array<String>){}
java调用代码
public void demo() { Student[] students = new Student[]{ new Student("x1",'男',14,new String[]{"数学","语文"}), new Student("x2",'女',15,new String[]{"英语","语文"}), new Student("x3",'男',16,new String[]{"化学","语文"}), new Student("x4",'女',17,new String[]{"物理","语文"}), }; for (Student student : students) { Log.v(TAG,student.toString()); } }
- android项目中,java调用kotlin代码
- android kotlin与Java互操作(一)在 Kotlin 中调用 Java 代码
- Kotlin与Java的共存-Java中调用kotlin代码
- Kotlin-Kotlin中调用Java
- Kotlin-Java中调用Kotlin
- Kotlin基础教程-在kotlin中调用Java
- Kotlin基础教程-在Java中调用Kotlin
- 在当前android 项目中混用Kotlin代码。
- android kotlin与Java互操作(二)Java 中调用 Kotlin
- Kotlin与Java的共存-kotlin调用java代码
- kotlin汇总9-在kotlin中调用java
- android java项目到kotlin的转换
- Android中使用WebView调用java代码
- android:Kotlin Java Kotlin android Kotlin
- kotlin调用java
- java调用kotlin注意事项
- Android中Java代码和Js代码相互调用
- Kotlin 引入Android项目
- Java 对Map进行排序的实现方法
- c++函数参数类型-引用
- Spring AOP应用
- iOS网络开发中的同步、异步和请求队列
- win32平台而非linux平台下 深入分析Sleep(0)与Sleep(1)的区别
- android项目中,java调用kotlin代码
- CAP原则
- 第五周上机实践项目——项目1-三角形类雏形-(2)
- linux挂载的磁盘类型
- Excel启动提示向程序发送命令出现问题
- wireShark的使用
- 内存映射文件原理
- 解决android sdk更新不了
- 根据屏幕分辨率放大缩小图片