美文网首页
使用kotlin和Java混合开发Android项目爬坑记录

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

作者: 没有故事的男童鞋 | 来源:发表于2019-11-12 15:43 被阅读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

    • 手动导入页面对应布局文件(也可以直接用布局中id,然后光标定位到该Id同时按住Alt+Enter,即可自动导入,推荐自动导入方式)
      import kotlinx.android.synthetic.main.act_play_manager.*
    • 使用布局中控件tv_text.text = "TextView文字"

    相关文章

      网友评论

          本文标题:使用kotlin和Java混合开发Android项目爬坑记录

          本文链接:https://www.haomeiwen.com/subject/cxlqictx.html