使用kotlin和Java混合开发Android项目爬坑记录

2019-11-12  本文已影响0人  没有故事的男童鞋

使用kotlin和Java混合开发Android项目爬坑记录

不定期将开发过程中遇到的问题添加在此处,加深记忆。
主要内容包括但不限于java与kotlin语言的一些区别,以及在使用android-studio进行开发过程中的一些小技巧

一、为现有项目添加Kotlin语言支持

1、在项目级别的build.gradle中添加如下代码

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
        
        //添加plugin
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

2、在module级别的build.gradle中添加如下代码

//这个必须添加
apply plugin: 'kotlin-android'

//按需添加  让项目可以使用类似像 Dagger 或者 Data Binding 这样的库。
//https://www.kotlincn.net/docs/tutorials/android-frameworks.html
apply plugin: 'kotlin-kapt'

//按需添加  让kotlin支持视图绑定,如直接使用layout中的id设置具体的值,
   //不需要使用findViewById,或者butterKnife,可以直接用xml中的Id名
apply plugin: 'kotlin-android-extensions'

3、module级别的dependencies中添加如下代码

//按需添加  指定kotlin标准库依赖
//相关说明  https://www.kotlincn.net/docs/reference/using-gradle.html
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

如果项目中使用了butterknife和glide相关依赖需进行修改(将annotationProcessor),否则会出现兼容问题

纯java开发
annotationProcessor "com.jakewharton:butterknife-compiler:$rootProject.butterknifeVersion"
annotationProcessor "com.github.bumptech.glide:compiler:$rootProject.glideVersion"

java+kotlin混合开发
kapt "com.jakewharton:butterknife-compiler:$rootProject.butterknifeVersion"
kapt "com.github.bumptech.glide:compiler:$rootProject.glideVersion"

4、开发前的准备工作差不多就是以上三步,后续内容为开发过程中的一些问题及技巧记录。

注:初次导入因为没有将annotationProcessor改为kapt,导致使用butterKnife的地方奔溃,花了点时间没解决而且项目进度较赶一度放弃了引入kotlin,还有就是比较担心kotlin与java的兼容问题,以及学习成本较高会影响开发进度。后期经过不少开发者的安利终于上车,逐渐将部分功能使用kotlin实现。

二、在使用Android studio开发过程中的技巧

1、书写匿名内部类
java:
输入new之后就会有类似的类名提醒,或直接Ctrl+Shift+Space
kotlin:
输入object选择弹窗提示中后面带有annoymous的那一项或直接Ctrl+Shift+Space
2、直接使用xml文件中Id

上一篇下一篇

猜你喜欢

热点阅读