Settings 转Kotilin

Model 类: MapCity,CitySearchModel,MapViewModel

Activity类:AboutActivity

工具类:SettingCookie SettingTrackHelper

1.Activity 转Kotilin

Butterknife不识别问题:

以AboutActivity为例:

如:butterknife

@JvmField 注解,将类变量暴露给底层java 库使用

需要使用:

apply plugin:'kotlin-kapt'

kapt "com.jakewharton:butterknife-compiler:${rootProject.ext.butterknifeCompilerVersion}"
Kotilin 调用java函数 异常
compile 'nl.dionsegijn:konfetti:1.1.2'


compile'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.41'

2.Model转Kotilin

静态变量转换
可空变量转换

由于kotilin的空安全判断,默认的成员变量是non-nullable ,但是有时候我们需要使用到nullable 的成员变量,这样就需要在该成员变量之后加?

不需要使用默认的get 和 set 方法变量转换

一个 Kotlin 的类成员变量会被自动生成 getter 和 setter 。有时,这个特性会令人感到比较蛋疼,你想不让它生成 getter ,就需要加个注解:@JvmField。这样就不会产生 getter 了。这个@JvmField同时去掉了 getter 和COMPANION

3.工具类转Kotlin

静态函数转换

Kotilin 转java 总结

Kotilin优势:

Kotlin 语言相对 Java 有很多优势,比如官网介绍的简洁、安全

Kotlin 具有现代(也有称下一代的)静态编程语言的很多特点,如类型推断、多范式支持、可空性表达、扩展函数、DSL 支持等。另外对于安卓开发还提供了 Kotlin 安卓扩展和 Anko 库

关于与 Java 互操作,尤其是 Java 调用 Kotlin 是大家普遍觉得坑的地方,除了默认 final 外,还有一个主要原因应该就是名字修饰,解决方式可以按照它修饰后名字去引用,或者在 Kotlin 端使用 @JvmName 注解来生成便于 Java 使用的名字。

必要性:

1.效率

2.简洁

3.APK 大小增加不多

results matching ""

    No results matching ""